C语言试题库(含答案)

更新时间:2024-05-31 17:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、单项选择题(每小题2分)

【1】设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar (m);putchar ('');putchar (ch);后,则输出结果是。

A、A1 B、lA C、Al D、1A

标准答案:D

【2】有如下函数调用语句 fuc(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是。 A、3 B、4 C、5

D、有语法错 标准答案:A

【3】有以下函数定义: void fun(int n,double x){} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是。 A、fun(int y,double m); B、k=fun(10,12.5); C、fun(x,n);

D、void fun(n,x); 标准答案:C

【5】设有以下程序片段,请问执行后的输出结果是

int i=010,j=10,k=0xl0;print f(\%d,%d,%d\,k,j,i);

A、16,10,8 B、81016

C、10,10,10 D、8,10,16 标准答案:A

【9】有如下程序段: char str[14]={\ strcat(str,\ scanf(\ print f(\ 当输入为happy!时,输出的结果是()。 A、Iamsad! B、happy! C、Iamhappy! D、happy!ad! 标准答案:B

【11】以下if语句中格式正确的是

A、if(a>b)b++else a++;

B、if(a>b){b++;print f(\%d\,b);} else {a++;print f(\%d\,a);} C、if(a>b){b++;print f(\%d\,b)} else {a++;print f(\%d\,a);} D、if(a>b)b++;print f(\%d\,b); else print f(\%d\,a); 标准答案:B

【1】设有整型变量m值为8,下列赋值语句中,正确的是。

A、++m=6; B、m=m++; C、m+1=8; D、m+1+=8; 标准答案:B

【2】.有以下程序 #include void fun(int *a,int i,int j) { int t; if(i

程序运行后的输出结果是。 A、1268 B、8621 C、8162 D、8612 标准答案:C

【3】关于C语言以下说法正确的是()。

A、只有当实参和与其对应的形参同名时才共占用存储单元 B、形参是虚拟的,不占用存储单元

C、实参和与其对应的形参各占用独立的存储单元 D、实参和与其对应的形参共占用一个存储单元 标准答案:C

【4】根据下面的定义,能打印出字母“M”的语句是。 struct person

{char name[9];int age;};

struct person class[10]={\,17, \,19,\,18,\,16}; A、print f(\%c\\n\,class[3].name); B、print f(\%c\\n\,class[3].name[l]); C、Print f(\%c\\n\,class[2].name[l]); D、print f(\%c\\n\,class[2].name[0]); 标准答案:D

【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。

A、f+=g B、f-=g+5 C、f*=g-5 D、f/=g*5 标准答案:A

【6】下面程序的输出是 main()

{int a=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0));

print f(\%d%d%d\\n\,k,a,b);}

A、003 B、012 C、103 D、112

标准答案:C

【7】C语言中最基本的数据类型包括。

A、整型,实型,逻辑型 B、整型,实型,布尔型 C、整型,实型,字符型 D、整型,实型,指针型 标准答案:C

【8】假定int 类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是。 A、3 B、6 C、10 D、20

标准答案:D

【9】下面程序的输出结果是()。 #include void main() { int i,j,k; char str[5]; for(i=0;i<5;i++)str[i]='A'; k=4; for(i=0;i

D、不确定的值 标准答案:B

【10】有以下程序片段: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[3],i; for(i=0;i<3;i++) p[i]=&a[i*4]; printf(“%d”,*(p[2]+1)); 则输出结果为 A、9 B、5 C、10 D、6

标准答案:C

【11】设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段: switch(ch)

{case'+':w=a+b;break; case'-':w=a-b;break; case'*':w=a*b;break; case'/':w=a/b;break;} 在下列写法中,错误的是 A、if(ch=='+')w=a+b; if(ch=='-')w=a-b; if(ch=='*')w=a*b; if(ch=='/')w=a/b;

B、B)if(ch=='*')w=a*b; else if(ch=='/')w=a/b; if(ch=='+')w=a+b;

else if(ch=='-')w=a-b; C、if(ch=='+')w=a+b; else if(ch=='-')w=a-b; if(ch=='*')w=a*b; else w=a/b;

D、D)if(ch=='+')w=a+b; else if(ch=='-')w=a-b; if(ch=='*')w=a*b;

else if(ch=='/')w=a/b; 标准答案:C

【12】有以下程序: #include. main()

{int al=0,a2=0,a3=0; char ch;

while((ch=getchar ())!='\\n') switch(ch)

{case'A':a1++; case'B':a2++; default:a3++;}

print f(\%d,%d,%d\,a1,a2,a3);}

现从键盘上输入AAAAABBBC<回车>,则程序执行后的输出结果是

A、5,8,9 B、5,3,1 C、5,3,9 D、5,8,1 标准答案:A

【13】下面程序的输出是 main() {int y=9; for(;y>0;y--) if(y%3==0) {printf(“%d”,--y);continue;}} A、741 B、852 C、963 D、875421 标准答案:B

【14】下面程序的运行结果是 #include main() {int i=1; do{i--;}while(i++);

【12】请读程序: #include main()

{int x=l,y=0,a=0,b=0; switch(x) {casel: switch(y)

{case0:a++;break;

case1:b++;break;} case2:

a++;b++;break;}

print f(\%d,b=%d\\n\,a,b);} 上面程序的输出结果是

A、a=2,b=l B、a=l,b=l C、a=l,b=0 D、a=2,b=2 标准答案:A

【13】有下面的程序: main() {int i,n,k; n=15496;k=2; for(i=1;i

标准答案:B

【2】一个函数返回值的类型是由()。 A、return语句中的表达式类型决定 B、定义函数时所指定的函数类型决定 C、调用该函数的主调函数的类型决定 D、在调用函数时临时指定 标准答案:B

【4】以下对结构体变量stul中成员age的非法引用是 struct st

{int age;int num;}stul,*p; p=&stul; A、stul.age B、age

C、p→age D、(*p).age 标准答案:B

【5】设ch是char 型变量,其值为'a',且有下面的表达式: ch=(ch>='a'&&ch<='z')?(ch-32):ch 上面表达式的值是

A、'a' B、'A' C、'Z' D、'z'

标准答案:B

【6】以下运算符中,运算优先级最低的是。

A、-> B、++ C、* D、=

标准答案:D

【7】属于实型常量的是

A、E10 B、10 C、10L D、1E10 标准答案:D

【12】有以下程序: #include main()

{int x,y;print f(\:\; scanf(\%d\,&x); if(x++<0)y=-1;

else if(x==0)y=0;else y=1;print f(\%d\;} 现从键盘上输入-1,则程序的输出是。

A、-1 B、0 C、1

D、不确定的值 标准答案:A

【14】有下列程序段: char ch; int s=0;

for(ch=’A’;ch<’Z’;++ch)

if(ch%2==0)s++; print f(\ 则执行上述片段后,程序的输出结果是 A、13 B、12 C、26 D、25

标准答案:A

【15】C语言程序的基本单位是什么是()。

A、程序行 B、语句 C、函数 D、字符 标准答案:C

一、单项选择题(每小题2分)

【1】设字符型变量ch已有值,下列语句中错误的是。

A、scanf(\%c%c\;

B、{int ch=6;print f(\%d\,ch);} C、ch=5;

D、ch>48&&ch<0x3A; 标准答案:A

【4】若有以下定义和语句: struct student

{int num;int age;};

struct studentstu[3]={{l001,20},{1002,19},{1003,2l}}; main()

{struct student*p;p=stu; ...}

则下列引用中不正确的是。 A、(p++)→num B、p++

C、(*p).num D、p=&stu.age 标准答案:D

【5】若a是float 型变量,则表达式a=l,a++,a+=a的值为。

A、2 B、4 C、2.0 D、4.0

标准答案:D

【6】若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是 。 A、A%2==1 B、!(A%2==0) C、!(A%2) D、A%2 标准答案:C

【10】有以下程序,请问执行后的输出结果是。 #include main()

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

print f(\%d,%d\,*p,a[3]);} A、1,4 B、0,4 C、1,6 D、0,6 标准答案:C

【11】若要求表示a不等于0的关系,错误的表达式是 A、)a<>0 B、a!=0 C、a

D、a<0||a>0 标准答案:A

【13】下面的程序,描述正确的是 main() {int x=3; do {print f(“%d\\n”,x-=2);} while(!(--x));} A、输出的是1

B、输出的是1和-2 C、输出的是3和0 D、是死循环 标准答案:B

【15】C语言中主函数的个数是()

A、2个 B、1个 C、任意个 D、10个 标准答案:B

【2】以下关于函数的叙述中正确的是______。

A、每个函数都可以被其它函数调用(包括main函数) B、每个函数都可以被单独编译 C、每个函数都可以单独运行

D、在一个函数内部可以定义另一个函数 标准答案:B

【3】若函数的形参为一维数组,则下列说法中正确的是()。 A、调用函数时的对应实参必为数组名 B、形参数组可以不指定大小

C、形参数组的元素个数必须等于实参数组的元素个数 D、形参数组的元素个数必须多于实参数组的元素个数 标准答案:B

【7】C浯言中的构造类型包括。

A、数组型,结构体型,联合体型 B、结构体型,联合体型,指针型 C、结构体型,联合体型,枚举类型

D、数组型,结构体型,联合体型,指针型 标准答案:A

【10】请读程序: #include #include main()

{char *s1=\,*s2=\;s1++;s2++; print f(\%d\\n\,strcmp(s1,s2));} 上面程序的输出结果是 A、正数 B、负数 C、零

D、不确定的数 标准答案:A

【12】若执行下面的程序时从键盘上输入10,则输出是 main()

{int a;scanf(\%d\,&a); if(a++>10)

print f(\%d\\n\,++a); else print f(\%d\\n\,a--);}

A、12 B、11 C、10 D、9

标准答案:B

【13】下面的程序段不能实现求阶乘8!(8!=1*2*3*4*5*6*7*8,结果存放在p中)的是

A、p=1;

for(i=1;i<9;i++) p=p*i; B、p=2;

for(i=1;i<9;i++) p=p*i; C、p=1;i=1; while(i<9) p=p*i++; D、p=1;i=8; do {p=p*i--;} while(i>1); 标准答案:B

【14】下列循环中哪一个不是无限循环 A、for(i=1;;i++) print f(“%d”,i); B、i=1;while(i--)

{print f(“%d”,i++);} C、i=1 do {print f(“%d”,i); i++;}while(--i); D、for(i=0;i;i++) print f(“%d”,i); 标准答案:D

【3】若函数的形参为一维数组,则下列说法中正确的是()。 A、调用函数时的对应实参必为数组名 B、形参数组可以不指定大小

C、形参数组的元素个数必须等于实参数组的元素个数 D、形参数组的元素个数必须多于实参数组的元素个数 标准答案:B

【5】'\\060'和\在内存中占用的字节数分别为。

A、22 B、21 C、12 D、44

标准答案:C

【6】若a是float 型变量,则表达式a=l,a++,a+=a的值为。

A、2 B、4 C、2.0

D、4.0

标准答案:D

【7】设C语言中,一个int 型数据在内存中占用两个字节,则int 型数据的取值范围为:

A、-128~127 B、-32768~32767 C、0~65536

D、)0~2147483647 标准答案:B

【8】下面程序的输出结果为()。 #include void main() { int a[3],i,j,k=2; for(i=0;i<3;i++) a[i]=0; for(i=0;i

标准答案:A

【11】下面程序的输出结果是。 #include main()

{int i=2,p;p=f(i,i+1); print f(\%d\,p);} int f(a,b) int a,b; {int c;c=a; if(a>b)c=1; else

if(a==b)c=0;else c=-1; return(c);}

A、-1 B、0 C、1 D、2

标准答案:A

【12】C语言中,逻辑真表示为 A、TRUE B、'y'或'Y' C、1

D、非零值 标准答案:C

【15】以下说法正确的是()。

A、在C语言中,要调用的函数必须在main()函数中定义 B、C语言程序总是从第一个定义的函数开始执行

C、C语言程序中,main()函数必须放在程序的开始部分 D、C语言程序总是从main()函数开始执行 标准答案:D

【2】下面程序中存在语法错误,关于错误的原因正确说法是()。 #include void p_ch1(); void main() { int a=5,b; ............. b=p_ch1(A); }

A、语句void p_ch1();有错,它是函数调用语句,不能使用void 说明 B、变量名不能使用大写字母

C、函数说明和函数调用语句之间有矛盾 D、函数名中不能使用下划线 标准答案:C

【9】执行下列程序时,输入123<空格>456<空格>789<回车>,输出结果是。 #include void main() { char s[100]; int c,i; scanf(\ print f(\ }

A、123,456,789 B、1,456,789 C、1,23,456,789 D、1,23,456 标准答案:D

【10】下面程序的输出结果是 void prtv(int *x)

{print f(\%d\\n\,++*x);}

main()

{int a=25;prtv(&a);} A、23 B、24 C、25 D、26

标准答案:D

【12】实型变量a,b中放有两门课程的考试成绩,如果两门成绩都及格(成绩>=60),则显示“pass”,如果a成绩不及格,则显示\,如果a成绩及格而b成绩不及格则不做任何处理。下列程序段中可实现上述要求的是 A、if(a>=60) if(b>=60)

print f(\; else

print f(\; B、if(a<60)

print f(”fail”); else if(b>=60) print f(\;

C、if(a>=60)&&(b>=60)) print f(\; else if(b<60) print f(\; D、D)if(b>=60) if(a>=60)

print f(\; else

print f(\; 标准答案:B

【13】以下程序的输出结果是 #include main() {int i; for(i=1;i<=5;++i) {if(i%2)print f(“*”); else continue;print f(“#”);}print f(“$”);} A、*#*#*#$ B、#*#*#*$ C、*#*#$ D、#*#*$ 标准答案:A

【14】以下说法中正确的是

A、continue语句的作用是结束整个循环的执行

B、break语句应出现在switch语句和循环语句中

C、利用goto语句可以使程序的执行从一个函数跳到另一个函数 D、循环语句中break语句不能单独出现 标准答案:B

【1】运行下列程序的输出是。 main() {int k=1;

{int k=2;print f(\%d\,k);} print f(\%d\,k);}

A、12 B、21 C、11 D、22

标准答案:B

【5】若有代数式,则不正确的C语言表达式是 。

A、a/b/c*e*3 B、3*a*e/b/c C、3*a*e/b*c D、a*e/c/b*3 标准答案:C

【6】以下程序的输出结果是。 main()

{int a=10,b=10;

print f(\%d,%d\,a--,++b);} A、10,11 B、10,10 C、9,9 D、9,11 标准答案:A

【7】不属于整型常量的是

A、10 B、010 C、0xl0 D、4.0/2 标准答案:D

【8】以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #defineN10 void arrin(int x[N]) { int i=0;

while(i

【10】设有以下程序片段: char s[]=\;char *p; p=s;

则执行完上面的程序段后,*(p+8)的值为。 A、'!' B、'\\0' C、'm' D、不定值 标准答案:B

【5】下面四个选项中,均是合法转义字符的选项是 。 A、‘\\’’ ‘\\\\’‘\\n’ B、\\’ ‘\\017’ ‘\\”’ C、‘\\018’ ‘\\f’ ‘xab’ D、‘\\\\0’ ‘\\101’ ‘x1f’ 标准答案:A

【7】设整型变量a的值为5,使整型变量b的值不为2的表达式是。

A、b=a/2 B、b=6-(--a) C、b=a%2

D、b=a>3?2:1 标准答案:C

【10】以下程序段的功能是给数组所有的元素输入数据,则应在程序横线填上的选项是。 #include main()

{int a[10],i=0;

while(i<10)scanf(\%d\;} A、a+(i++) B、&a[i+1] C、a+i

D、&a[++i] 标准答案:A

【2】以下叙述中正确的是。

A、全局变量的的作用域一定比局部变量的作用域范围大

B、静态(static)类别变量的生存期贯穿于整个程序的运行期间 C、函数的形参都属于全局变量

D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值 标准答案:B

【4】再定义一个结构体变量时,系统分配给它的内存是 A、结构体中第一个成员所需内存量 B、结构体中最后一个成员所需内存量 C、成员中占内存量最大者所需内存量 D、各成员所需内存量的总和 标准答案:D

【11】若i是int 型变量,且有下面的程序片段 i=0;

if(i<=0)print f(\else print f(\;

上面程序片段的输出结果是

A、#### B、**** C、####****

D、有语法错误,无输出结果 标准答案:D 【9】有以下程序 #include #include void main() { char a[7]=\ i=sizeof(a);j=strlen(a); print f(\ }

程序运行后的输出结果是______。 A、22 B、76 C、72 D、62

标准答案:C

【15】下面属于C语言标识符的是() A、2ab B、@f C、?b D、_a12

标准答案:D 【8】有以下程序 #include

#include void main() { char a[7]=\ i=sizeof(a);j=strlen(a); print f(\ }

程序运行后的输出结果是______。 A、22 B、76 C、72 D、62

标准答案:C

【9】下面正确的数组定义语句是。 A、int y[1][4]={1,2,3,4,5}; B、float x[3][]={{1},{2},{3}};

C、long s[2][3]={{1},{1,2},{1,2,3}}; D、double t[][3]={0}; 标准答案:D

【10】下面程序的输出结果是 void prtv(int *x)

{print f(\%d\\n\,++*x);} main()

{int a=25;prtv(&a);} A、23 B、24 C、25 D、26

标准答案:D

【11】下面满足当(a>=b)&&(c==d)时u=w,否则x=y的if语句是 A、if(a

B、if(a

C、if(a

D、D)if(a>=b) {if(c==d)x=y;

else u=w; } 标准答案:B

【14】执行下面程序片段的结果是 int x=0; do {printf(“-”,x--);} while(x);

A、打印出321 B、打印出23

C、打印不确定结果 D、陷入死循环 标准答案:C

【1】如果用scanf()来输入长整型数据,则正确的格式控制符是。

A、%x B、%lx C、%lD D、%d

标准答案:B

【4】下面程序的运行结果是。 main()

{struct cmplx

{int x;int y;}cnum[2]={l,3,2,7};

print f(\%d\\n\,cnum[0].y/cnum[0].x*cnum[1].x);} A、0 B、1 C、3 D、6

标准答案:D 【9】有以下程序 #include #include void main() { char p[]={'a','b','c'},q[10]={'a','b','c'}; print f(\ }

以下叙述中正确的是______。

A、在给p和q数组置初值时,系统会自动添加字符串结束符,故长度都为3 B、由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3 C、由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3 D、由于p和q数组中都没有字符串结束符,故长度都不能确定 标准答案:B

【10】若有以下定义:

ihta[]={1,2,3,4,5,6,7,8,9},*p=a; 则值为5的表达式是。 A、p+=4,*(p++) B、p+=4,*++p C、p+=5,*p++ D、p+=4,++*p 标准答案:A 【14】请读程序 #include main()

{int num=0; while(num++<=2) {print f(“%d\\n”,num);}} 上面程序的输出结果是 A、1 2 3

B、1 2 4 C、1 2 D、1 3

标准答案:A

【9】以下程序的输出结果是。 #include #include void main() { char b[30]; strcpy(&b[0],\ strcpy(&b[1],\ strcpy(&b[2],\ print f(\ } A、CHDEF B、DEFABC C、CDABC D、CHABC 标准答案:C

【10】设有以下程序片段:

char a[]=\,*p;

p=a;print f(\%d\,*(p+5)); 执行上面的程序片段后的结果为 A、111 B、0 C、104

D、不确定的值 标准答案:B

【14】有以下程序片段 int k=5;

while(k=1)k--;

执行此程序片段,则描述正确的是 A、while循环执行4次 B、循环体执行一次 C、循环体一次也不执行 D、死循环 标准答案:D

【15】不属于高级语言的是()。 A、BASIC B、C

C、ALGOL D、符号语言 标准答案:D

【4】下面程序的输出是。 main()

{enumteam{my,your=4,his,her=his+10}; printf(\%d%d%d%d\\n\,my,your,his,her);} A、0123 B、04010 C、04515 D、l4515 标准答案:C

【6】不属于字符型常量的是。

A、'A' B、\C、'\\\\' D、'\\\

标准答案:B

【16】在C语言中,表示逻辑“真”值用非零的数字。 标准答案:Y

【25】break语句只能用于switch语句和循环语句。 标准答案:Y

【29】计算分段函数的值:将源程序取名为sheji104.cpp并存入考生文件夹。 一、单项选择题(每小题2分) 【2】若程序中定义了以下函数: double myadd(double a,double b) {return(a+b);}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是。 A、double myadd(double a,b); B、double myadd(double ,double ); C、double myadd(double b,double a); D、double myadd(double b,double a); 标准答案:A

【1】如果用print f()来输出双精度型数据、则正确的格式控制符是。

A、%-10.2f B、%lf C、%le D、%lg

标准答案:A

【12】以下程序的输出结果是 #include main()

{int a=0,b=l,c=0,x=0,y=0; if(x<=y) if(y=l0) if(!b)a=1; else if(c)a=10; a=-1;

print f(\%d\,a);} A、1 B、0 C、-1

D、不确定的值 标准答案:C

【15】所有C函数的结构都包括的三部分是()

A、语句、花括号和函数体 B、函数名、语句和函数体 C、函数名、形式参数和函数体 D、形式参数、语句和函数体 标准答案:C

【14】下列循环中哪一个不是无限循环 A、for(i=1;;i++) print f(“%d”,i); B、i=1;while(i--)

{print f(“%d”,i++);} C、i=1 do {print f(“%d”,i); i++;}while(--i); D、for(i=0;i;i++) print f(“%d”,i); 标准答案:D

【8】以下对二维数组a进行不正确初始化的是。 A、int a[][3]={3,2,1,1,2,3}; B、int a[][3]={{3,2,1},{1,2,3}; C、int a[2][3]={{3,2,1},{1,2,3}}; D、int a[][]={{3,2,1},{1,2,3}}; 标准答案:D

【1】运行下列程序的输出是。 main() {int k=1;

{int k=2;print f(\%d\,k);} print f(\%d\,k);}

A、12 B、21 C、11 D、22

标准答案:B

【2】若用数组名作为函数调用的实参,传递给形参的是()。 A、数组的首地址

B、数组第一个元素的值 C、数组中全部元素的值 D、数组元素的个数 标准答案:A

【3】若程序中定义了以下函数: double myadd(double a,double b) {return(a+b);}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是。 A、double myadd(double a,b); B、double myadd(double ,double ); C、double myadd(double b,double a); D、double myadd(double b,double a); 标准答案:A

【4】有如下定义: struct date{int year,month,day;}; struct worklist{char name[20];char sex;struct datebirthday;}personone; 对结构体变量personone的出生年份进行赋值时,下面正确的赋值语句是。

A、year=1968

B、birthday.year=1968

C、personone.birthday.year=1968 D、personone.year=1968 标准答案:C

【5】下面程序的输出是 main()

{int a=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0));

print f(\%d%d%d\\n\,k,a,b);}

A、003 B、012 C、103 D、112

标准答案:C

【6】设有以下程序片段,请问执行后的输出结果是

int i=010,j=10,k=0xl0;print f(\%d,%d,%d\,k,j,i);

A、16,10,8 B、81016

C、10,10,10 D、8,10,16 标准答案:A

【7】若a是float 型变量,则表达式a=l,a++,a+=a的值为。

A、2 B、4 C、2.0 D、4.0

标准答案:D

【8】下面程序的输出结果是()。 #include void main() { int i,j,k; char str[5]; for(i=0;i<5;i++)str[i]='A'; k=4; for(i=0;i

A、a B、A C、B

D、不确定的值 标准答案:B

【9】以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #defineN10 void arrin(int x[N]) { int i=0; while(i

【10】若有以下定义:

ihta[]={1,2,3,4,5,6,7,8,9},*p=a; 则值为5的表达式是。 A、p+=4,*(p++) B、p+=4,*++p C、p+=5,*p++ D、p+=4,++*p 标准答案:A

【11】有以下程序: #include main()

{int x,y;print f(\:\; scanf(\%d\,&x); if(x++<0)y=-1;

else if(x==0)y=0;else y=1;print f(\%d\;} 现从键盘上输入-1,则程序的输出是。

A、-1 B、0 C、1

D、不确定的值 标准答案:A

【1】设有下列程序段,则其正确的输出是。 int x=011,y=0xll;

print f(\%-3dy=%3d\,x,y);

A、口口917口

B、x=9口口y=口17 C、x=口口9y=17口 D、x=lly=x11 标准答案:B

【8】若有说明:int a[3][4];则对a数组元素的正确引用是__________。 A、a[2][4] B、a[1,3] C、a[1+1][0] D、a(2)(1) 标准答案:C

【10】若有以下定义: char s[10]=\,*p=s; 则不能代表字符u的表达式是。 A、s[4] B、s+4 C、*(p+4)

D、p+=4,*p; 标准答案:B

【2】以下程序运行后,输出结果是。 #include int d=1; void fun(int p) { int d=5; d+=p++; print f(\ } void main() { int a=3; fun(a); d+=a++; print f(\ }

A、84 B、99 C、95 D、44

标准答案:A

【7】设有以下的程序片段,请问执行后变量i的值是。 int i;float f=10.5;i=((int )f)/2;

A、5.0 B、5.5 C、6 D、5

标准答案:D

【1】设字符型变量ch已有值,下列语句中错误的是。

A、scanf(\%c%c\;

B、{int ch=6;print f(\%d\,ch);} C、ch=5;

D、ch>48&&ch<0x3A; 标准答案:A

【6】sizeof(double )的值为

A、1 B、2 C、4 D、8

标准答案:D

二、判断题(每小题1分)

【16】在C语言中,sizeof(a)是求变量a所占字节数,它是一个函数。 标准答案:N

【18】在C语言中若有int a[10];则a[10]是最后一个元素。 标准答案:N

【19】程序段char *s=“abcde”;s+=2;print f(“%d”,s);运行结果是cde。 标准答案:N

【20】C语言中的标识符只能由数字和字母组成。 标准答案:N

【21】设有struct stu{int a;float b;}strutype;则struct stu是用户定义的结构体类型名. 标准答案:Y

【23】C语言中,循环结构while(1),其循环条件为真,表示永远满足。 标准答案:Y

【25】C语言中,输入语句getchar (ch);表示给变量ch输入一个字符。 标准答案:N

【16】表达式a++&&b++,无论在什么情况下,都要执行a++和b++。 标准答案:N

【18】在C语言中,二维数组元素在内存中的存放顺序是按行顺序存放。 标准答案:Y

【20】C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。 标准答案:Y

【23】程序main(){int m=5;if(m++>5)print f(“%d\\n”,m);else print f(“%d\\n”,m--);}结果是5。 标准答案:N

【24】x已正确定义,语句if(!x);没有语法错。 标准答案:Y

【25】C语言程序主要由函数和过程组成。 标准答案:N

【16】若s是int 型变量,且s=6,则s%2+(s+1)%2的值为6.5。 标准答案:N

【17】运算符的优先级正确排序是:

赋值运算符<逻辑运算符<关系运算符<算术运算符。 标准答案:N

【18】可以在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值. 标准答案:N

【19】在定义指针型变量时指定的基类型为该指针变量所能指向的变量类型。 标准答案:Y

【20】C语言程序的基本单位是函数。 标准答案:Y

【21】当说明一个共用体变量时系统分配给它的内存是成员中占内存量最大者所需的容量。 标准答案:N

【23】for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内的分号却不可以却省。 标准答案:Y

【24】C语言中,三种循环结构可以任意嵌套。 标准答案:Y

【25】C语言中用“1”表示逻辑值“假”,用“0”表示逻辑值“真”。 标准答案:N

【16】若a是int 型变量,则(a=4*5,a*2),a+6的值为26。 标准答案:Y

【17】(x>=1)&&x<=10能正确表示当x的取值在[1,10]范围内为真,否则为假。 标准答案:Y

【18】在C语言中若有int a[10];则a[10]是最后一个元素。 标准答案:N

【19】char s[5]=”ABCDE”能够正确进行字符串赋值。 标准答案:N

【20】字符串是C语言中一种基本数据类型,字符串总是以‘\\n’作为结束标志。 标准答案:N

【21】设有struct stu{int a;float b;}stutype;则stutype是用户定义的结构体类型名. 标准答案:N

【22】在发生函数调用时,主被调函数中的参数可以是简单变量,也可以是数组名,当采用数组名作为参数时其数据传递方式为单向值传递。 标准答案:N

【23】scanf(格式控制,输入项表)中“输入项表”必须是存储单元的地址。 标准答案:Y

【24】C语言中,循环结构for(表达式1;;表达式3)是正确的。 标准答案:Y

【25】C语言程序主要由函数和过程组成。

标准答案:N

【16】表达式pow(2.8,sqrt(double (x)))值的数据类型为float 型。 标准答案:N

【17】若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。 标准答案:Y

【18】在C语言中,int a[10];scanf(“%d”,a);表示一次性地给数组a的10元素赋值。 标准答案:N

【19】若有char a[]=”It is mine”;则a+1表示的是字符t的地址。 标准答案:Y

【20】C语言规定:标识符应由字母、下划线和数字组成,且可以是上述字符的任意组合,其长度也是任意的。 标准答案:N

【21】结构体与数组一样,属于构造类型数据,且在结构体中的各个成员的类型也可不同。 标准答案:Y

【22】C语言中,形参与实参的数据类型可以不一致。 标准答案:N

【23】在for循环的循环体语句中,可以包含多条语句,但必须由大括号括起来。 标准答案:Y

【24】C语言中,循环结构共三种,即:while、do while和for结构。 标准答案:Y

【25】C语言中,else 必须与离它最近的if配对使用。 标准答案:Y

【16】C语言各种运算符中!的优先级最高。 标准答案:Y

【18】若有定义:double x[3][5];则x数组中行下标的下限为1。 标准答案:N

【19】程序段char s[]=”china”;char *p;p=s;s和p完全相同。 标准答案:N

【20】在C语言中,程序的最小编译单位是源文件,最小功能单位是函数。 标准答案:Y

【21】如果有以下对结构体变量定义 struct st

{int age;int num;}stul,*p; p=&stul;

则p->age=20是正确的引用 标准答案:Y

【22】C语言中,建立函数的目的之一是提高程序的可读性。 标准答案:Y

【23】C语言中,选择结构中,if必须与else 配对使用。 标准答案:N

【24】程序段while(i<=100)s=s+i;i++;是正确的,它的可以实现从1加到100的和。 标准答案:N

【25】C语言中,循环结构for(表达式1;表达式2;表达式3)中表达式2必须是条件表达式。

标准答案:N

【16】若有定义int i=3;则表达式i++和i的值都是4。 标准答案:Y

【19】C语言中,若有int a[5]={12,34,56,78,90},*p=a;则*p++=13。 标准答案:N

【20】C语言程序可以包含多个主函数。 标准答案:N

【22】C语言中,用户若需要调用标准库函数,调用前必须重新定义。 标准答案:N

【23】if语句有多种使用方法,其中if子句和else 子句也都可以单独使用。 标准答案:N

【24】C语言中scanf语句和printf语句可以输入、输出任意多个数据。 标准答案:Y

【16】若有定义int i=3;则表达式i++和i的值都是4。 标准答案:Y

【17】C语言的所有运算符运算方向都是从左到右。 标准答案:N

【18】在C语言中以下语句是正确的,int a,*p=&a;此语句表示指针变量p指向a。 标准答案:N

【22】函数调用可以嵌套,函数的定义也可以嵌套。 标准答案:N

【23】程序段int n=0;while(n++<=2);print f(“%d”,n);则n的值是4。 标准答案:Y

【25】C语言中,switch(表达式),其中表达式必须是条件表达式。 标准答案:N

【20】C语言中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 标准答案:N

【22】C语言中,指针变量只能存放变量的地址。 标准答案:N

【23】C语言中的输入语句只能用scanf实现。 标准答案:N

【24】C语言中,getchar ()函数可以从终端得到一个字符。 标准答案:Y

【25】for语句只能用于循环次数已经确定的情况下。 标准答案:N 【16】‘A’<=ch<=’Z’是判断char 型变量ch是否为大写字母的表达式。 标准答案:N

【19】若有定义,int a,*p=&a;则scanf(“%d”,*p);是正确的赋值。 标准答案:N

【23】C语言中,switch语句可以改写成if-esle语句。 标准答案:Y

【16】设y为int 型变量,请写出描述“y是奇数”的表达式y%2==0 标准答案:N

【18】在C语言中,二维数组的定义方式为:类型说明符数组名[表达式][表达式]。

本文来源:https://www.bwwdw.com/article/00s6.html

Top