一、选择题(每小题1分,共30分)
1.结构化程序设计所规定的三种基本控制结构是 。
A. 输入、处理、输出 B. 树形、网形、环形
C. 顺序、选择、循环 D. 主程序、子程序、函数
2.要把高级语言编写的源程序转换为目标程序,需要使用 。
A. 编辑程序 B. 驱动程序 C. 诊断程序 D. 编译程序
3.若有定义:int a=8,b=5,c; ,执行语句c=a/b+0.4;后,c的值为 。
A. 1.4 B. 1 C. 2.0 D. 2
4.若变量a是int类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是 。
A. a的值是字符C B. a的值是浮点型
C. 不允许字符型和浮点型相加 D. a的值是字符‘A’的ASCII值加上1
5.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 。
A. scanf("%d%d%d",&a,&b,d); B. scanf("%d%d%d",&a,&b,&d);
C. scanf("%d%d%d",a,b,d); D. scanf("%d%d%d",a,b,*d);
6.若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为 。
A. 无确定值 B. a的地址 C. 512 D. 511
7.以下程序的输出结果是 。
main()
{ int a=5,b=4,c=6,d;
printf("%d\n",d=a>b?(a>c?a:c):(b));
}
A. 5 B. 4 C. 6 D. 不确定
8.以下程序的输出结果是 。
main()
{ char cf[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A. "AAAA" B. "BBB" C. "BBBCC" D. "CC"
9.在C语言中,形参的缺省存储类是 。
A. auto B. register C. static D. extern
10.以下程序的输出结果是 。
main()
{ char x=040;
printf("%0\n",x<<1);
}
A. 100 B. 80 C. 64 D. 32
11.以下不能正确进行字符串赋初值的语句是 。
A. char str[5]="good!"; B. char str[]="good!";
C. char *str="good!"; D. char str[5]={ ‘g’,‘o’,‘o’,‘d’};
12.若有下面的说明和定义:
struct test
{ int ml; char m2; float m3;
union uu {char name[5]; int scores[2];} ua;
} myaa;
则sizeof(struct test )的值是 。
A. 12 B. 16 C. 14 D. 9
13.若有定义:int aa[8];。则以下表达式中不能代表数组元素aa[1]的地址的是 。
A. &aa[0]+1 B. &aa[1] C.. &aa[0]++ D. aa+1
14.在说明语句:int *fun();中,标识符fun代表的是 。
A. 一个用于指向整型数据的指针变量 B一个用于指向一维数组的行指针
C. 一个用于指向函数的指针变量 D. 一个返回值为指针型的函数名
15.s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指字符串大于s2所指字符串时,执行语句S;则以下选项中正确的是 。
A. if(s1>s2) S; B. if(strcmp(s1,s2)) S;
C. if(strcmp(s2,s1)>0) S; D. if(strcmp(s1,s2)>0) S;
16.C语言程序编译时,程序的注释部分 。
A.参加编译,并会出现在目标程序中 B.参加编译,但不会出现在目标程序中
C.不参加编译,但会出现在目标程序中 D.不参加编译,也不会出现在目标程序中
17.设int i=010,j=10;则printf("%d,%d",++i,j++);的输出 。
A.11,10 B. 9,10 C.010,9 D.10,9
18.正确的C语言用户自定义标识符是 。
A.print B. float C. when? D.random%2
19.若从终端上输入以下数据,要给变量C赋以283.19,则正确的输入语句是 。
A.scanf(“%f”,c); B.scanf(“%4f”,&c);
C.scanf(“%6.2f”,&c); D.scanf(“%8”,&c);
20.设int a=3,b=4,c=5; 则以下表达式中,值为0的表达式是 。
A.a&&b B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1)
21.设char x=’a’; printf(“x=%c,y=%c\n”,x,97); 的输出是 。
A.x=a,y=97 B.x=97,y=a C.x=97,y=97 D.x=a,y=a
22.执行下列程序后输出的结果是 。
int a[3][3]={{1},{2},{3}};
int b[3][3]={1,2,3};
main()
{ printf(“%d\n”,a[1][0]+b[0][0]); }
A. 0 B. 1 C. 2 D. 3
23.有两个字符数组a、b,则以下正确的输入语句是 。
A. gets(a,b); B. scanf(“%s%s”,a,b);
C. scanf(“%s%s”,&a,&b); D. gets(“a”), gets(“b”);
24.设有语句 int a=3; 则执行了语句a+=a-=a*a;后,变量a的值是 。
A.3 B.0 C.9 D.-12
25.若有说明 int a[10],*p=a; 对数组元素的正确引用是 。
A.a[p] B.p[a] C.*(p+2) D.p+2
26.char型常量在内存中存放的是 。
A.ASCII B.BCD代码值 C.内码值 D.十进制代码值
27.对break语句和continue语句,下面说法不正确的是 。
A.break语句强制中断当前循环,退出循环体
B.break语句只能用在三条循环语句的循环体或switch语句中
C. 在没有循环情况下,continue语句能用在switch语句中
D.continue语句不能退出循环体
28.c语言允许if-else语句可以嵌套使用,规定else总是与 配对。
A.其之前最近的if B.第一个if
C.缩近位置相同的if D.其之前最近的且尚未配对的if
29.设有说明语句int a=1;则执行以下语句后输出 。
swich(a)
{
case 1:printf(“你好\n”)
case 2:printf(“再见”)
default(“晚安”);
}
A.你好 再见 晚安 B.你好 再见晚安
C.你好
再见晚安 D.你好再见
c编程网30.已知x是字符变量,下面不正确的赋值语句是 。
A.x='x+y' B.x='\0' C.x='1'+'2' D.x=1+2
二、填空题(每小题1分,共20分)
1.能表述"20<x<30或x≤100"的C语言的表达式是 x>20&&x<30||x<=100 。
2.对源程序进行编译时,每遇到一个变量,就给它分配内存单元,同时记录变量的 变量标识符 、 数据类型 、 内存地址 .
3.在内存中存储"A"要占用 2 个字节,存储'A'要占用 1 个字节。
4.在C语言中,二维数组在内存的存放顺序是 按行存放 。
5.被调用函数在执行结束时,这个函数中定义的 静态存储类型 (static修饰) 类型的变量不释放。
6.设有以下定义语句 char a[4][10]={"11","22","23","44"};则puts(strcat(a[1],a[3]));的输出结果是___2244____; puts(strcpy(a[0],a[2])); 的输出结果是_____23____。
7.设有char *a=”ABCD”,则printf(“%c”,*a)的输出是 A 。
8.当定义了一维数组后,可以引用任何一个元素,引用方法为 数组名[下标] ,称为下标法:C语言还允许使用 指针法 来引用数组元素。
9.值传递方式传递的是__数据___,地址传递方式传递的是__地址__。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论