C语言stu1成员age的非法引用,C语言程序设计作业 救命啊

本文涵盖了C语言的基础知识,包括数组、指针、函数的使用,以及字符串操作和预处理宏。通过一系列的选择题和程序实例,阐述了变量、表达式、循环和条件语句的概念,并探讨了函数调用的参数传递方式。同时,文章还涉及了数组初始化、字符串赋值的正确方法,以及如何处理字符数组和字符串。最后,通过实际程序的运行结果分析,加深了对C语言流程控制和字符串处理的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

一、单项选择题

1.若有以下定义:  int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a;

则值为5的表达式是()。

A)p+=5, *(p+1)B)p+=1, * ++pC)p+=4, *p++D)p+=1, ++ *p

2.下面函数调用语句含有实参的个数为()

fun( ( a, b, c, d ), ( m, n ), (f, g ) );

A)1B)3C)4D)2

3.函数形式正确的是()。

A)  double myfun( int x, int y)B) int  myfun( int x,  y)

{  m=x+y;  return m; }           {  int m;   }

C)int myfun( int x, int y)D) int  myfun( int x, int y)

{  int x, y;  double  m;{  int m;  m=x+y;  return m; }

m=x+y;   return m; }

4.不正确的字符串赋值或赋初值方式是()。

A)char *str; str=”string”;B)char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’}

C)  char str[10];  str=”string”;

D)char str[]=”string”;  str2[]=”12345678”;  strcpy(str2, str1);

5.以下程序的输出结果是()。

#include 

main()

{  char str[]="SSSWLIA", c;

int k;

for (k=2;  (c=str[k])!='\0'; k++)  {

switch © {

case 'I':  ++k;  break;

case 'L': continue;

default: putchar©; continue;

}

}

putchar('*');

}

A)SSW*B)SW*C)SW*AD)SW

6.以下程序的输出结果是()。

#include 

int w=3;

fun( int k)

{

if ( k==0) return w;

return ( fun(k -1 )*k);

}

main()

{  int w=10;

printf("%d\n", fun(5)*w);

}

A)360B)3600  C)1080D)1200

7. 以下程序的输出结果是()。

#include 

int w=3;

f( int a)

{  int b=0; static  int c=3;

b++;  c++;

return ( a+b+c);

}

main()

{  int a=2, i;

for (i=0; i<3; i++)

printf("%d ", f(a));

}

A)7  7  7B)7  10  13C)7  9  11D)7  8  9

8.以下程序的输出结果是()。

#include 

main()

{  int a[]={1,2,3,4,5,6}, *p;

p=a;  *(p+3)+=2;

printf("%d, %d \n ", *p, *(p+3));

}

A)0, 5B)1, 5C)0, 6D)1, 6

9.以下程序的输出结果是()。

#include 

#define  PT 5.5

#define  S(x)   PT*x*x

main()

{  int a=1, b=2;

printf("%4.1f\n ", S(a+b));

}

A)49.5B)9.5C)12.5D)33.5

10.下面程序段的输出结果是()。

#include 

#define  LETTER  1

main()

{  char  str[20]="Language", c;

int i=0;

while  (( c=str[i])!='\0')

{  i++;

# if (LETTER)

if (c>='a'&& c<='z')  c=c-32;

#else

if (c>='A'&& c<='Z')  c=c+32;

#endif

printf("%c", c);

}

}

A)LanguageB)languageC)LANGUAGED)lANGUAGE

11.若有说明:char *s[]={“FORTRAN”, “BASIC”,”PASCAL”,”JAVA”,”C”}; 则表达式 *s[1]>*s[3]比较的是()。

A)字符F和字符PB)字符串BASIC和字符串JAVA

C)字符B和字符JD)字符串FORTRAN和字符串PASCAL

12.如下程序的输出结果是()。

#include 

main()

{  char  a[20]="chinese" ;  char  *p=a;

for (; p

}

A)chineseB)cieeC)chineD)cie

13. 若有定义: int a[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为()。

A)*(*(a+i)+j)B)(a+i)[j]C)*(a+i+j)D)*(a+i)+j

14. 若有以下定义和语句,则对a数组元素的正确引用为()。

int a[2][3],(*p)[3];

p=a;

A)(p+1)[0]B)*(*(p+2)+1)C)*(p[1]+1)D)p[1]+2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值