【奥鹏】[四川农业大学]《C语言(专科)》18年9月在线作业
试卷总分:100 得分:100
第1题,在宏定义 #define PI 3.14159中,用宏名PI代替一个( )
A、常量
B、单精度数
C、双精度数
D、字符串
第2题,假定所有变量均已正确说明,下列程序段运行后x的值是( )a=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;else x=4;
A、34
B、4
C、35
D、3
第3题,设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是( )
A、*((*prt+1)[2])
B、*(*(p+5))
C、(*prt+1)+2
D、*(*(a+1)+2)
第4题,请选出以下语句的输出结果( )printf("%d\n",strlen("\t\"\065\xff\n"));
A、5
B、14
C、8
D、输出项不合法,无正常输出
第5题,下面能正确进行字符串赋值操作的语句是( )
A、char s[5]={"ABCDE"};
B、char s[5]={'A','B','C','D','E'};
C、char *s;s="ABCDEF";
D、char *s; scanf("%s",s);
第6题,在以下一组运算符中,优先级最高的运算符是( )
A、=
B、=
C、%
D、&&
第7题,若有宏定义如下#define X 5 #define Y X+1 #define Z Y * X / 2则执行以下printf语句后,输出结果是( )int a; a=Y rintf("%d\n", Z) rintf("%d\n", - - a);
A、7 6
B、12 6
C、12 5
D、7 5
第8题,设有如下程序 :#includestdio.h main(){ int **k, *j, i=100;j=&i; k=&j;printf("%d\n", **k);} 上面程序的输出结果是( )
A、运行错误
B、100
C、i的地址
D、j的地址
第9题,执行下面的程序后,a的值为( )main(){ int a,b;for (a=1,b=1;a=100;a++){ if(b=20)break;if(b%3==1){b+=3;continue;}b-=5; }}
A、7
B、8
C、9
D、10
第10题,请选出合法的C语言赋值语句( )
A、a=b=58
B、i++
C、a=58,b=58
D、k=int(a+b)
第11题,以下有关宏替换的叙述不正确的是( )
A、宏替换不占用运行时间
B、宏名无类型
C、宏替换只是字符替换
D、宏名必须用大写字母表示
第12题,函数调用:strcat(strcpy(str1,str2),str3)的功能是( )
A、将串str1复制到串str2中后再连接到串str3之后
B、将串str1连接到串str2之后再复制到串str3之后
C、将串str2复制到串str1中后再将串str3连接到串str1之后
D、将串str2连接到串str1之后再将串str1复制到串str3中
第13题,以下程序运行后,输出结果是( )main(){ char *s="abcde";s+=2;printf("%ld\n",s); }
A、cde字符c的ASCII码值
B、字符c的地址
C、出错
第14题,请读程序#define ADD(x) x+x main(){int m=1, n=2, k=3;int sum=ADD(m+n) * k;printf("sum=%d", sum);}上面程序的运行结果是( )
A、sum=9
B、sum=10
C、sum=12
D、sum=18
第15题,以下程序的输出结果是( )main(){ int x=10,y=10; printf("%d %d\n",x--,--y);}
A、10 10
B、9 9
C、9 10
D、10 9
第16题,请选出可用作C语言用户标识符的一组标识符( )
A、void define WORD
B、a3_b3 _123 IF
C、For -abc Case
D、2a DO sizeof
第17题,若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )
A、1
B、2
C、2.0
D、2.5
第18题,运行以下程序后,如果从键盘上输入 china#回车,则输出结果为( )#includestdio,hmain(){ int v1=0,v2=0;char ch;while((ch=getchar())!='#')switch(ch){ case 'a';case 'h';default; v1++;case '0'; v2++;}printf("%d,%d\n",v1,v2);}
A、2,0
B、5,0
C、5,5
D、2,5
第19题,设有以下宏定义#define N 3 #define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为 ( )
A、出错
B、42
C、48
D、54
第20题,以下程序运行后,如果从键盘上输入book 回车book 空格回车则输出的结果是( )#includestring,hmain(){ char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#"); printf("%d/n",strlen(strcat(s1,s2))); }
A、*8
B、9
C、6
D、*9
|