C语言考试原题选择题讲解.docx

上传人:b****6 文档编号:4944093 上传时间:2022-12-12 格式:DOCX 页数:207 大小:215.63KB
下载 相关 举报
C语言考试原题选择题讲解.docx_第1页
第1页 / 共207页
C语言考试原题选择题讲解.docx_第2页
第2页 / 共207页
C语言考试原题选择题讲解.docx_第3页
第3页 / 共207页
C语言考试原题选择题讲解.docx_第4页
第4页 / 共207页
C语言考试原题选择题讲解.docx_第5页
第5页 / 共207页
点击查看更多>>
下载资源
资源描述

C语言考试原题选择题讲解.docx

《C语言考试原题选择题讲解.docx》由会员分享,可在线阅读,更多相关《C语言考试原题选择题讲解.docx(207页珍藏版)》请在冰豆网上搜索。

C语言考试原题选择题讲解.docx

C语言考试原题选择题讲解

第1章C语言程序设计基础

(1)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是(A)。

A)C语言程序仅可以编译执行

B)C语言程序仅可以解释执行

C)C语言程序既可以编译执行又可以解释执行

D)以上说法都不对

(2)以下关于简单程序设计的步骤和顺序的说法中正确的是(B)。

A)确定算法后,整理并写出文档,最后进行编码和上机调试

B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档

C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档

D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构

(3)以下叙述中错误的是(B)。

A)C程序在运行过程中所有计算都以二进制方式进行

B)C程序在运行过程中所有计算都以十进制方式进行

C)所有C程序都需要编译链接无误后才能运行

D)C程序中整型变量只能存放整数,实型变量只能存放浮点数

(4)以下叙述正确的是(B)。

A)C语言程序是由过程和函数组成的

B)C语言函数可以嵌套调用,例如,fun(fun(x))

C)C语言函数不可以单独编译

D)C语言中除了main函数,其他函数不可作为单独文件形式存在

(5)以下叙述中正确的是(D)。

A)程序设计的任务就是编写程序代码并上机调试

B)程序设计的任务就是确定所用数据结构

C)程序设计的任务就是确定所用算法

D)以上三种说法都不完整

(6)以下叙述中正确的是(C)。

A)C程序的基本组成单位是语句

B)C程序中的每一行只能写一条语句

C)简单C语句必须以分号结束

D)C语句必须在一行内写完

(7)计算机能直接执行的程序是(D)。

A)源程序

B)目标程序

C)汇编程序

D)可执行程序

(8)以下4个选项中,不能看成一条语句的是(D)。

A);

B)a=5,b=2.5,c=3.6;

C)if(a<5);

D)if(b!

=5)x=2;y=6;

(9)以下叙述中错误的是(D)。

A)计算机不能直接执行用C语言编写的源程序

B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件

C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件

D)后缀为.obj和.exe的二进制文件都可以直接运行

(10)下列叙述中错误的是(A)。

A)一个C语言程序只能实现一种算法

B)C程序可以由多个程序文件组成

C)C程序可以由一个或多个函数组成

D)一个C函数可以单独作为一个C程序文件存在

(11)以下4个程序中,完全正确的是(B)。

A)#include

main();

{/*programming*/

printf("programming!

\n");}

B)#include

main()

{/*/programming/*/

printf("programming!

\n");}

C)#include

main()

{/*/*programming*/*/

printf("programming!

\n");}

D)include

main()

{/*programming*/

printf("programming!

\n");}

(12)以下叙述中正确的是(C)。

A)C程序中的注释只能出现在程序的开始位置和语句的后面

B)C程序书写格式严格,要求一行内只能写一个语句

C)C程序书写格式自由,一个语句可以写在多行上

D)用C语言编写的程序只能放在一个程序文件中

(13)以下关于结构化程序设计的叙述中正确的是(C)。

A)一个结构化程序必须同时由顺序、分支、循环三种结构组成

B)结构化程序使用goto语句会很便捷

C)在C语言中,程序的模块化是利用函数实现的

D)由三种基本结构构成的程序只能解决小规模的问题

第2章数据类型、运算符和表达式

1.合法标识符(1-9)

(1)以下选项中,能用作用户标识符的是(C)。

A)voidB)8_8C)_0_D)unsigned

(2)以下选项中合法的标识符是(C)。

A)1_1B)1_1C)_11D)1__

(3)以下选项中不合法的标识符是(C)。

A)printB)FORC)&aD)_00

(4)可在C程序中用作用户标识符的一组标识符是(A)。

A)and_2007B)Datey-m-dC)HiDr.TomD)caseBigl

(5)可用作C语言用户标识符的是(B)。

A)void,define,WORDB)a3_b3,_123,IF

C)FOR,--abc,CaseD)2a,Do,Sizeof

(6)下面四个选项中,均是不合法的用户标识符的选项是(C)。

A)AP_0doB)floatla0_AC)b-agotointD)_123tempint

(7)下面各选项中,均是C语言合法标识符的选项组是(B)。

A)33weautoB)_23me_3ewC)_433e_elseD)ER-DF32

(8)以下不合法的用户标识符是(C)。

A)j2_KEYB)DoubleC)4dD)_8_

(9)下列是用户自定义标识符的是(A)。

A)_w1B)3_xyC)intD)LINE-3

2.常量(10-25)

(10)以下选项中可用作C程序合法实数的是(A)。

A).1e0B)3.0e0.2C)E9D)9.12E

(11)以下选项中能表示合法常量的是(D)。

A)1,200B)1.5E2.0C)'\'D)"\007"

(12)以下关于C语言的叙述中正确的是(A)。

A)C语言中的注释不可以夹在变量名或关键字的中间

B)C语言中的变量可以在使用之前的任何位置进行定义

C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致

D)C语言的数值常量中夹带空格不影响常量值的正确表示

(13)以下选项中,能用作数据常量的是(D)。

A)o115B)0118C)1.5e1.5D)115L

(14)以下选项中不能作为C语言合法常量的是(A)。

A)'cd'B)0.1e+6C)"\a"D)'\011'

(15)C源程序中不能表示的数制是(A)。

A)二进制B)八进制C)十进制D)十六进制

(16)以下选项中不属于字符常量的是(B)。

A)'C'B)"C"C)'\xCC'D)'\072'

(17)以下选项中,合法的一组C语言数值常量是(B)。

A)028.5e-3.0xfB)12.0Xa234.5e0

C).1774e1.50abcD)0x8A10,0003.e5

(18)以下正确的字符串常量是(D)。

A)"\\\"B)'abc'C)OlympicGamesD)""

(19)以下关于字符串的叙述中正确的是(D)。

A)C语言中有字符串类型的常量和变量

B)两个字符串中的字符个数相同时才能进行字符串大小的比较

C)可以用关系运算符对字符串的大小进行比较

D)空串一定比空格打头的字符串小

(20)以下选项中,不能作为合法常量的是(B)。

A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0

(21)下列选项可以正确表示字符型常量的是(A)。

A)'\r'B)"a"C)"\897"D)296

(22)以下合法的字符型常量是(A)。

A)'\x13'B)'\081'C)'65'D)"\n"

(23)下面四个选项中,均是不正确的八进制数或十六进制数的选项是(D)。

A)0160x8f018B)0abc0170xa

C)010-0x110x16D)0a127ff-123

(24)下列选项中C语言中不合法的字符串常量的是(B)。

A)"\121"B)'y'C)"\n\n"D)"ABCD\x6d"

(25)以下合法的十六进制数是(B)。

A)0xB)0x4deC)0x1hD)oX77

3.表达式、语句(26-51)

(26)有以下程序:

#include

main()

{ints,t,A=10;

doubleB=6;

s=sizeof(A);

t=sizeof(B);

printf("%d,%d\n",s,t);

}

在VC6.0平台上编译运行,程序运行后的输出结果是(C)。

A)2,4B)4,4C)4,8D)10,6

(27)以下关于C语言数据类型使用的叙述中错误的是(D)。

A)若要准确无误差地表示自然数,应使用整数类型

B)若要保存带有多位小数的数据,应使用双精度类型

C)若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型

D)若只处理"真"和"假"两种逻辑值,应使用逻辑类型

(28)阅读以下程序:

#include

main()

{intcase;floatprintf;

printf("请输入两个数:

");

scanf("%d%f",&case,&printf);

printf("%d%f\n",case,printf);

}

该程序在编译时产生错误,其出错原因是(A)。

A)定义语句出错,case是关键字,不能用作用户自定义标识符

B)定义语句出错,printf不能用作用户自定义标识符

C)定义语句无错,scanf不能作为输入函数使用

D)定义语句无错,printf不能输出case的值

(29)若函数中有定义语句:

intk;,则(B)。

A)系统将自动给k赋初值0

B)这时k中的值无定义

C)系统将自动给k赋初值-1

D)这时k中无任何值

(30)以下选项中正确的定义语句是(C)。

A)doublea;b;B)doublea=b=7;

C)doublea=7,b=7;D)double,a,b;

(31)以下关于long、int和short类型数据占用内存大小的叙述中正确的是(D)。

A)均占4个字节

B)根据数据的大小来决定所占内存的字节数

C)由用户自己定义

D)由C语言编译系统决定

(32)以下不正确的叙述是(D)。

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

(33)以下不能正确表示代数式2ab/cd的C语言表达式是(D)。

A)2*a*b/c/dB)a*b/c/d*2

C)a/c/d*b*2D)2*a*b/c*d

(34)在C语言中,运算对象必须是整型数的运算符是(A)。

A)%B)\C)%和\D)**

(35)现有定义inta;doubleb;floatc;chark;,则表达式a/b+c-k值的类型为(B)。

A)intB)doubleC)floatD)char

(36)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。

以下不能将变量c中的大写字母转换为对应小写字母的语句是(D)。

A)c=(c-'A')%26+'a'B)c=c+32C)c=c-'A'+'a'D)c=('A'+c)%26-'a'

(37)设变量a是int型,f是float型,i是double型,则表达式10+'a'+i*f值的数据类型为(C)。

A)intB)floatC)doubleD)不确定

(38)表达式:

(int)((double)9/2)-(9)%2的值是(B)。

A)0B)3C)4D)5

(39)若有定义语句:

inta=3,b=2,c=1;,以下选项中错误的赋值表达式是(A)。

A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);

(40)有以下定义:

inta;longb;doublex,y;,则以下选项中正确的表达式是(B)。

A)a%(int)(x-y)B)a=x!

=y;C)(a*y)%bD)y=x+y=x

(41)表达式a+=a-=a=9的值是D()。

A)9B)-9C)18D)0

(42)若有定义:

doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是(C)。

A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!

a;

(43)若有定义语句:

intx=10;,则表达式x-=x+x的值为(B)。

A)-20B)-10C)0D)10

(44)设变量已正确定义并赋值,以下正确的表达式是(C)。

A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0

(45)若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)。

A)x=y==5;B)x=n%2.5;C)x+n=i;D)x=5=4+1;

(46)若变量已正确定义并赋值,以下符合C语言语法的表达式是(B)。

A)a:

=b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b

(47)在执行下述程序时,若从键盘输入6和8,则结果为(B)。

main()

{inta,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a

s=b;

s*=s;

printf("%d",s);}

A)36B)64C)48D)以上都不对

(48)下列程序的输出结果是(C)。

main()

{doubled=3.2;

intx,y;

x=1.2;

y=(x+3.8)/5.0;

printf("%d\n",d*y);} 

A)3B)3.2C)0D)3.07

(49)有以下程序,其中k的初值为八进制数:

#include

main()

{intk=011;

printf("%d\n",k++);

}

程序运行后的输出结果是(D)。

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

(50)设有定义:

inta=1,b=2,c=3;,以下语句中执行效果与其他三个不同的是(C)。

A)if(a>b)c=a,a=b,b=c;

B)if(a>b){c=a,a=b,b=c ;}

C)if(a>b)c=a ;a=b ;b=c;

D)if(a>b){c=a ;a=b ;b=c ;}

(51)设有定义:

intx=2 ;,以下表达式中值不为6的是(D)。

A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=2

第3章顺序结构程序设计

(1)有以下程序段:

charname[20];

intnum;

scanf("name=%snum=%d",name,&num);

当执行上述程序段,并从键盘输入name=Lilinum=1001<回车>后,name的值为(A)。

A)LiliB)name=LiliC)Lilinum=D)name=Lilinum=1001

(2)有以下程序:

#include

main()

{intx=011;

printf("%d",++x);

}

程序运行后的输出结果是(C)。

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

(3)有以下程序:

#include

main()

{inta=1,b=0;

printf("%d,",b=a+b);

printf("%d\n",a=2*b);

}

程序运行后的输出结果是(D)。

A)0,0B)1,0C)3,2D)1,2

(4)有以下程序:

#include

main()

{charcl,c2;

cl='A'+'8'-'4';

c2='A'+'8'-'5';

printf("%c,%d\n",cl,c2);

}

已知字母A的ASCII码为65,程序运行后的输出结果是(A)。

A)E,68B)D,69C)E,DD)输出无定值

(5)程序段intx=12;doubley=3.141593;printf("%d%8.6f",x,y);的输出结果是(A)。

A)123.141593B)123.141593C)12,3.141593D)123.1415930

(6)若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1,给b赋值2,给c赋值3,以下输入形式中错误的是(B)。

A)1,2,3<回车>B)123<回车>C)1,2,<回车>3D)1,2,3<回车>

(7)有以下程序段:

charch;

intk;

ch='a';

k=12;

printf("%c,%d,",ch,ch,k);

printf("k=%d\n",k);

已知字符'a'的ASCII码值为97,则执行上述程序段后输出结果是(D)。

A)因变量类型与格式描述符的类型不匹配输出无定值

B)输出项与格式描述符个数不符,输出为零或不定值

C)a,97,12k=12

D)a,97,k=12

(8)已知字符'A'的ASCII码值是65,字符变量c1的值是'A',c2的值是'D'。

执行语句"printf("%d,%d",c1,c2-2);"后,输出结果是(C)。

A)A,BB)A,68C)65,66D)65,68

(9)当用户要求输入的字符串中含有空格时,应使用的输入函数是(C)。

A)scanf()B)getchar()C)gets()D)getc()

(10)现有格式化输入语句,scanf("x=%d,sumy=%d,linez=%d",&x,&y,&z);,已知在输入数据后,x,y,z的值分别是12,34,45,则下列选项中是正确的输入格式的是(D)。

A)12,34,45B)x=12,y=34,z=45

C)x=12C,sumy=34,z=45D)x=12,sumy=34,linez=45

(11)有以下程序:

#include

main()

{charc1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

printf("%c%c\n",c5,c6);

}

程序运行后,若从键盘输入(从第1列开始)

123<回车>

45678<回车>

则输出结果是(D)。

A)1267B)1256C)1278D)1245

(12)x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)。

A)INPUTx、y、z;

B)scanf("%d%d%d",&x,&y,&z);

C)scanf("%d%d%d",x,y,z);

D)read("%d%d%d",&x,&y,&z);

(13)以下叙述中错误的是(B)。

A)gets函数用于从终端读入字符串

B)getchar函数用于从磁盘文件读入字符

C)fputs函数用于把字符串输出到文件

D)fwrite函数用于以二进制形式输出数据到文件

第4章选择结构程序设计

(1)已有定义:

charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符为大写字母的表达式是(B)。

A)isupper(c)B)'A'<=c<='Z'C)'A'<=c&&c<='Z'D)c<=('z'-32)&&('a'-32)<=c

(2)以下选项中,当x为大于1的奇数时,值为0的表达式是(D)。

A)x%2==1B)x/2C)x%2!

=0D)x%2==0

(3)若a是数值类型,则逻辑表达式(a==1)||(a!

=1)的值是(A)。

A)1B)0C)2D)不知道a的值,不能确定

(4)执行以下程序段后,w的值为(C)。

intw='A',x=14,y=15;

w=((x‖y)&&(w<'a'));

A)-1B)NULLC)1D)0

(5)当变量c的值不为2、4、6时,值也为"真"的表达式是(B)。

A)(c==2)||(c==4)||(c==6)B)(c>=2&&c<=6)||(c!

=3)||(c!

=5)

C)(c>=2&&c<=6)&&!

(c%2)D)(c>=2&&c<=6)&&(c%2!

=1)

(6)已知字母A的ASCII码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是(B)。

A)kk>='A'&&kk<='Z'B)!

(kk>='A'||kk<='Z')

C)(kk+32)>='a'&&(kk+32)<='z'D)isalpha(kk)&&(kk<91)

(7)有如下程序段:

inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<'b');

执行该程序段后,x的值为(D)。

A)trueB)falseC)0D)1

(8)判断char型变量c1为大写字母的正确表达式是(D)。

A)'A'<=c1<='Z'B)(c1>=A)&&(c1<=Z)

C)('A'>=c1)‖('Z'<=c1)D)(c1>='A')&&(c1<='Z')

(9)以下是if语句的基本形式:

if(表达式)语句;

其中"表达式"(D)。

A)必须是逻辑表达式B)必须是关系表达式

C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式

(10)有以下程序,程序运行时,输入的值在哪个范围才会有输出结果(B)。

#include

main()

{intx;

scanf("%d",&x);

if(x<=3);

else

if(x!

=10)

printf("%d\n",x);

}

A)不等于10的整数B)大于3且不等于10的整数

C)大于3或等于10的整数D)小于3的整数

(11)有以下程序段,程序的输出结果是(A)。

inta,b,c;

a=10;b=50;c=30;

if(a>b)

a=b,b=c;

c=a;

printf("a=%db=%dc=%d\n",a,b,c);

A)a=10b=50c=10B)a=10b=50c=30

C)a=10b=30c=10D)a=50

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1