当前位置:文档之家› 1+选择题

1+选择题

顺序结构1.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( )A必须为字母B必须为下划线C 必须为字母或下划线D 可以是字母、数字和下划线中的任一种字符2.下面4个选项中,均是C语言关键字的选项是( )Aauto enum includeBswitch typedef continueC signed union scanfD if struct type3.下面4个选项中,均是不合法的用户标识符的选项是( )A A P_0 doBfloat la0 _AC b-a goto intD _123 temp INT4.在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( D )A由用户自己定义B均为2个字节 C 是任意的 D 由所用机器的机器字长决定6.下面不正确的字符串常量是( A )AˊabcˊB〞12ˊ12〞 C 〞0 〞 D 〞〞7.假设所有的变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( B )A7 B8 C 6 D 28.以下正确的叙述是( D )A在C语言中,每行只能写一条语句B若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C 在C程序中,无论整数还是实数,都能被准确无误的表示D 在C程序中,%是只能用于整数运算的运算符10. 设变量a是整型,f是实型,i是双精度型,则表达式10+ˊaˊ+i*f值的数据类型为( C )A intB floatC doubleD 不确定11.在C语言中,char型数据在内存中的存储形式是( D )A 补码B 反码C 原码D AS CⅡ码12.设有说明语句:char w;int x;float y;double z;w x z y*+-值的数据类型为( D ) A float B char C int D double13.在C语言中,要求运算数必须是整型的运算符是( D )A /B &&C !=D %14.在C语言中一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为 C A 0~255 B 0~32 767 C 0~65 535 D 0~2 147 483 64715下面正确的字符常量是( C )A〞c 〞B〞\\〞C ˊWˊD ˊˊ(中间没有空格)17.若定义语句:int a=7;float x=2.5;y=4. 7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )A 2.500000B 2.750000C 3.500000D 0.00000018.已知字母A的AS CⅡ码为十进制数65,且定义c2为字符型变量,则执行语句c2=ˊAˊ+ˊ6ˊ-ˊ3ˊ;后,c2中的值为: AA DB 68C 不确定的值D C19.以下程序的运行结果是( A )# include<stdio.h>main(){ int m=5,n=10;printf(“%d,%d\n”,m++,--n); }A 5,9 B 6,9 C 5,10 D 6,1021.设有如下程序# include<stdio.h>main(){ char ch1=’A’,ch2=’a’;printf(“%c\n”,(ch1,ch2)); } 则下列叙述正确的为——A 程序的输出结果为大写字母AB 程序的输出结果为小写字母aC 运行时产生错误信息D 格式说明符的个数少于输出项的个数,编译出错24.输入数据的形式是25,13,10<回车>,则程序的输出结果是( D )main(){ int x,y,z;scanf (“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z); } A x+y+z=48 B x+y+z=35 C x+z=35 D不确定值25.若有如下定义,则正确的语句是( B )int a,b; float x; A a=1,b=2, B b++; C a=b=5 D b=int(x);循环结构1.程序段如下:int k=1;while (k==0) k=k+1; 则以下说法正确的是( C )A while循环执行20次 B. 循环是无限循环 c.循环体语句一次也不执行D.循环体语句执行一次2. 下面程序段int k=2;while (k==0) {printf(“%d”,k);k--;}则下面描述中正确的是。

CA ) while 循环执行 10 次B )循环是无限循环C )循环题语句一次也不执行D )循环体语句执行一次3. 以下程序段的循环次数是。

for (i=2; i==0; ) printf(“%d” , i--) ; BA )无限次B ) 0 次C ) 1 次D ) 2 次6. 下述程序段的运行结果是。

B#include “stdio.h”void main(){ int sum=0,a=1;while(a<=10){sum=sum+a;a++; }printf(“sum=%d\n”,sum); }A )sum=0B )sum=55C )sum=10D )sum=117. 下述语句执行后,变量 k 的值是。

Aint k=1;while (k++<=10);A ) 10B ) 11C ) 9D )无限循环,值不定9. 执行语句 for (i=1;i++<4;) ; 后变量 i 的值是。

CA ) 3B ) 4C )5D )不定10. 以下程序段。

Ax=-1;do{ x=x*x; }while (x);A )是死循环B )循环执行 2 次C )循环执行 1 次D )有语法错误12. 下述程序段的运行结果是。

A#include “stdio.h”void main(){ int sum=0,a=11;while(a<=10){sum=sum+a;a++; }printf(“sum=%d\n”,sum);}A )sum=0B )sum=55C )sum=10D )sum=1113 C语言中:A)不能使用do-while语句构成的循环B)do-while语句构成的循环必须用break语句才能退出C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环15 以下程序的输出结果是: Cmain( ){ int n=4;while(n)printf("%d ",--n); }A) 2 0 B) 3 1 C) 3 2 1 0D) 2 1 0数组1.若有定义char str[]= “very good”,则str的长度为:( C )A. 8B. 9C. 10D. 112.若有定义char str[]= “c program”,则str的长度为:( B )A.9B.10C.11D.123.下列关于数组的特征错误的是( C )A.先定义后使用B.可以有多维C.定义数组长度时可以用常量或变量D.可以作参数传递4.数组名作为实参传递给形参时,数组名被处理为( C )。

A.该数组的长度B.该数组的元素个数C.该数组的首地址D.该数组中各元素的值5. 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是()。

A )整型常量B )整型表达式C )整形常量或整形表达式D )任何类型的表达式6. 以下对一维整型数组 a 的正确说明是( D )。

A.int a(10) ;B.int n=10,a[n];C.int n;D.#define SIZE 10↙int a[SIZE];7. 若有定义: int a[10] ,则对数组 a 元素的正确引用是( D )。

A ) a[10]B ) a[3.5]C ) a(5)D ) a[10-10]9. 若有定义: int a[3][4], 则对数组 a 元素的正确引用是()。

A ) a[2][4]B ) a[1,3]C ) a(5)D ) a[10-10]14. 判断字符串 a 是否大于 b ,应当使用( D )。

A ) if (a>b)B ) if (strcmp(a,b))C ) if (strcmp(b,a)>0)D ) if (strcmp(a,b)>0)函数1、一个源程序文件由一个或多个( B )组成。

A、语句 B、函数 C、程序块D、子程序2、C程序的执行从( D )开始。

A、第一条语句B第一个函数 C 最后一个函数D主函数3、从用户使用的角度看,函数有两种,它们是 ( A )。

A 库函数和用户自定义函数B 库函数和主函数C 用户自定义函数和主函数D 主函数和子函数4、C源程序文件由 ( B )组成。

A 语句 B 函数 C 程序块 D 子程序5、再C语言的函数中,( C )A 必须有形参B 形参必须是变量名C 可以有也可以没有形参D 数组名不能作形参6、关于return语句,下列说法正确的是( C )A 在主函数和其他函数中均可出现B 必须在每个函数中出现C 可以在同一个函数中出现多次D 只能在除主函数之外的函数中再出现一次7、下列函数调用中,不正确的是( D )A max(a,b)B max(3,a+b)C max(3,5)D int max(a,b)指针8、若已有定义int x;下列说明指针变量p指向x的正确语句是(B )A int p=&x;B int *p=&x;C int p=x;D int *p=x;9、变量的指针,其含义是指该变量的( A )A 地址B 值C 名字D 标识10、若已有定义int x=2; int *p=&x;则*p的值为( A )A 2B &xC *xD &p11、已知p,p1为指针变量,a为数组名,I为整型变量,下列赋值语句中不正确的是( D )A p=&IB p=p1C p=&a[i]D p=10结构体1.已知学生记录描述为struct student{int no;char name[20];char sex;struct{int year;int month;int day;}birth;};struct student s;设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是( D )A. year=1984;B.birth.year=1984; month=11; birth.month=11;day=11; birth.day=11;C.s.year=1984;D.s.birth.year=1984;s.month=11; s.birth.month=11;s.day=11; s.birth.day=11;2.当说明一个结构体变量时系统分配给它的内存是( A )A.各成员所需内存的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量3.设有以下说明语句struct stu{int a;float b;}stutype;则以下叙述不正确的是( C )A. struct 是结构体类型的关键字B. struct stu 是用户定义的结构体类型C. stutype 是用户定义的结构体类型名D. a 和b 都是结构体成员名4.C语言结构体类型变量在程序执行期间 A )A. 所有成员一直驻留在内存中B. 只有一个成员驻留在内存中C. 部分成员驻留在内存中D. 没有成员驻留在内存中6.以下程序的运行结果是( A )main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A.6B.8C.10D.127.根据下面的定义,能打印出字母M的语句是( D )struct person{char name[9];int age;};struct person class[10]={"John",17,"Paul",19,"Mary"18,"adam",16};A.printf("%c\n",class[3].name);B.printf("%c\n",class[3].name[1]);C.printf("%c\n",class[2].name[1]);D.printf("%c\n",class[2].name[0]);18.当说明一个共用体变量时系统分配给它的内存是( C )A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需内存量D.结构中最后一个成员所需内存量19.以下对C语言中共用体类型数据的叙述正确的是( C )A.可以对共用体变量名直接赋值B.一个共用体变量中可以同时存放其所有成员C.一个共用体变量中不能同时存放其所有成员D.共用体类型定义中不能出现结构体类型的成员20.若有以下定义语句union data{int l; char c; float f;}a;int n;则以下语句正确的是( C )A.a=5;B.a={2,'a',1.2};C.printf("%d\n",a.l);D.n=a;22.C语言共用体类型变量在程序运行期间( B )A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部分成员驻留在内存中D.没有成员驻留在内存中23.以下程序的运行结果是( B )#include<stdio.h>main(){union{ long a;int b;char c;}m;printf("%d\n",sizeof(m));}A.2B.4C.6D.8文件1.下列哪个是字符写函数(B )。

相关主题