您的当前位置:首页正文

c语言选择题

2023-09-17 来源:好走旅游网
1、1.关于C程序的构成描述,_________是不正确的。

A、一个源程序至少且仅包含一个main函数,

也可包含一个main函数和若干个其他函数。

B、函数由函数首部和函数体两部分组成,二者

缺一不可。

C、函数首部通常是函数的第1行,包括:函数

属性、函数类型、函数名、函数参数等,不管有无函数参数,都必须用一对圆括号括起来。

D、函数体通常在函数首部下面,用一对花括号

将声明部分和执行部分括起来,但不能为空。

2、程序中,不管是数据声明还是语句,都必须有一个结束符,它是C语句的必要组成部分,

该符号是_________。

A、逗号“,”

B、句号“。”

C、分号“;”

D、单撇号“’”

3、3.下列关于C程序的运行流程描述,______是正确的。

行可执行程序。可执行程序。

A、编辑目标程序、编译目标程序、连接源程序、运

B、编译源程序、编辑源程序、连接目标程序、运行

C、编辑源程序、编译源程序、连接目标程序、运行

可执行程序。

D、编辑目标程序、编译源程序、连接目标程序、运

行可执行程序。

4、5.描述或表示算法有多种方法,______不是常用的表示方法。

A、自然语句

B、流程图或N-S图

C、伪代码

D、效果图

5、6.下面四个哪一个是C语言正确的标识符。

A、2xy

B、data_file

C、break

6、语言是一种结构化的程序设计语言,任何程序都可以将模块通过3种基本的控制结构进行

组合来实现,这三种基本的控制结构是指______。

A、分支结构、循环结构、函数结构

B、顺序结构、选择结构、函数结构

C、顺序结构、分支结构、循环结构

D、以上描述都不正确

7、下列关于算法特性的描述,______是不正确的。

而不能是无限的。

不应该是含糊的、模棱两可的。A、有穷性:指一个算法应该包含有限的操作步骤,

B、确定性:指算法的每一个步骤都应当是确定的,

C、有效性:指算法中的每一个步骤都应当能有效地

执行,并得到确定的结果。

D、输入/输出性:指算法中可以有输入/输出操作,

也可以没有输入/输出操作。

8、关于运行一个C程序的描述,______是正确的。

函数执行结束时,程序也就执行结束。函数时,也可在其它函数中执行结束。A、程序总是从main()函数处开始运行,当main()

B、程序总是从main()函数处开始运行,当调用其它

C、当程序中无main()函数时,可以设置一个主控函

数来代替main()函数,从而达到运行程序的目的。

D、以上描述都不正确。

9、下列关于C程序中复合语句的描述,______是正确的。

形成一个复合语句。形成一个复合语句。A、用一对圆括号“( )”将若干语句顺序组合起来就

B、用一对大括号“{ }”将若干语句顺序组合起来就

C、用一对大括号“[ ]”将若干语句顺序组合起来就

形成一个复合语句。

D、以上描述都不正确。

10、一个C源程序文件的扩展名是______。

A、.CPP

B、.C

C、.OBJ

D、.EXE

11、如果程序有语义错误就需要对程序进行调试,一般的编程环境都提供了相应的调试手段和

方法,最主要的方法包括______。

A、设置断点,观察变量

B、单步调试,观察变量

C、编辑、编译、连接和执行

D、A和B都正确

12、在运行一个C语言程序过程中,需要经过编辑、编译、连接和调试运行过程,语法错误称

为______。

A、编译错误

B、连接错误

、以下叙述不正确的是。C、运行错误D、语议错误

13

A、一个C源程序可由一个或多个函数组成

B、一个C源程序必须包含一个main函数

、一个C程序的执行是从。C、在C程序中,注释说明只能位于一条语句的后面D、C程序的基本组成单位是函数

14

最后一个函数结束A、本程序的main函数开始,到main函数结束

B、本程序文件的第一个函数开始,到本程序文件的

C、本程序的main函数开始,到本程序文件的最后一

个函数结束

D、本程序文件的第一个函数开始,到本程序main函

数结束

15、C语言规定:在一个源程序中,main函数的位置。

A、必须在程序的开头

B、必须在系统调用的库函数的后面

、C编译程序是。C、可以在程序的任意位置D、必须在程序的最后

16

A、将C源程序编译成目标程序的程序

B、一组机器语言指令

、以下叙述中正确的是。C、将C源程序编译成应用软件D、C程序的机器语言版本

17

A、C语言比其他语言高级

B、C语言可以不用编译就能被计算机识别执行

为语言的表达形式

18、用C语言编写的代码程序。C、C语言以接近英语国家的自然语言和数学语言作

D、C语言出现的最晚,具有其他语言的一切优点

A、可立即执行

B、是一个源程序

C、经过编译即可执行

D、经过编译解释才能执行

19、下列4组选项中,均不是C语言关键字的选项是。

A、define、IF、Type

B、getc、char、printf

C、include、scanf、case

D、while、go、pow

20、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符。

A、必须为字母

B、必须为下划线

、C语言中简单的数据类型包括______。C、必须为字母或下划线

D、可以是字母、数字和下划线中任一种字符

1

A、整型、实型、逻辑型

B、整型、实型、字符型

C、整型、字符型、逻辑型

D、整型、实型、逻辑型、字符型

2、C语言中字符型(char)数据在内存中的存储形式是______。

A、原码

B、补码

C、反码

D、ASCII码

3、设已说明inta=256,则执行语句“printf(\"%x\______。

A、0100

B、0256

C、0ffe

D、00ff

4、设有说明语句:chara;intb;floatc;doubled;则执行语句c=a+b+c+d;后,变量c的数据类型是______。

A、int

B、char

C、float

D、double

5、函数printf与putchar功能的主要区别是______。

putchar不需要不能输出数字

A、printf需要格式说明,

B、putchar只能输出字符,

6、以下叙述正确的是________。

C、printf只能输出数字D、没有区别

语句A、C语句前面必须有行号

B、C程序中每行只能写一条

C、C语言本身没有输入输出

语句

D、注释必须跟在一行语句的

后面

7、C语言语句一行写不下时,可以________。

A、用逗号换行

B、用分号换行

C、用回车换行

D、在任意一空格处换行

8、若有说明语句:inta;floatb;,以下输入语句正确的是________。

A、scanf(

B、scanf(

C、scanf(

D、scanf(

9、执行下面程序时,欲将25和分别赋给a和b,正确的输入方法是________。 inta; floatb;

scanf(\"a=%d:b=%f\

A、25□

B、25,

C、a=25:b=

D、a=25□b=

10、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式是______。

A、a<>0

B、!a

C、a=0

D、a!=0

11、对于条件表达式(k)(i++):(i--)来说,其中的表达式k为真时等价于________。

A、k==0

B、k==1

C、k!=0

D、k!=1

12、字符型(char)数据在微机内存中的存储形式是________。

A、补码

B、ASCII码

C、EBCDIC码

D、反码

13、C语言整型常数有十进制、八进制和十六进制三种表达形式,是合法的十六进制常数表示形式。

()A、12

B、012

C、0x12

D、1A

14、C语言中的运算符有优先级,关于运算符优先级的正确叙述是______。

符,算术运算符高于关系运算符符,关系运算符高于逻辑运算符A、逻辑运算符高于算术运算

B、算术运算符高于关系运算

C、算术运算符高于逻辑运算

符,逻辑运算符高于关系运算符

D、关系运算符高于逻辑运算

符,逻辑运算符高于算术运算符

15、设有一个3位正整数m,计算m十位数的表达式为______。

A、m/100

B、m/10

C、m%100/10

D、m%100

16、设有定义“inta=5,b=6;”,则表达式(++a==b--)++a:--b的值是______。

A、5

B、6

17、执行下列程序段后,a的值是()。

inta,b,c,m=10,n=9;

a=(--m==n++)--m:++n;

C、7D、8

A、11

B、10

18、下面程序的输出是()。 main() {

intx=10,y=3;

C、9

D、8

printf(\"%d\\n\? }

A、0

B、1

C、3

D、不确定的值

19、设inta=1,b=2,c=3;则逗号表达式(a=3,a++,3*a+2)的值是()。

A、14

B、11

C、12

D、13

20、执行下列程序段后,y1、y2的值分别是()。

inta=7,b=2;

floaty1,y2; y1=a/b;

y2=(float)a/b;

A、3

B、3 3

C、

D、7 2

21、下列程序的功能是输出a、b、c三个变量中的最小值,请填空。

#include?

voidmain() {

inta,b,c,;

scanf(\"%d%d%d\

t1=a<问号(1);

t2=cprintf(\"%d\\n\ }

A、(1) c:t1 (2) a:b

B、(1) a:b (2) c:t1

C、(1) a:c (2) a:t1

22、下列程序的运行结果是()。

#include?

voidmain() {

inti,j,m,n;

i=8;j=10; m=++i; n=j++;

D、(1) b:c (2) c:t1

printf(\"%d,%d,%d,%d\\n\ }

A、8,10,8,9

B、8,11,8,9

C、9,D、8,23、下面数据中属于字符型常量的是()。

,9,10

,9,101110

A、\"AND\"

B、'N'

C、\"ABC\"

D、'OR'

24、设a为整型变量,不能正确表达数学关系: 10a==11||a==12||a==13||a==14

A、10B、

C、a>10&&a<15

D、!(a<=10)&&!(a>=15)

25、在以下运算符中,优先级最高的运算符是______。

A、<=

B、/

C、!=

D、&&

26、若有以下定义和语句,执行后的输出结果是______。 char c1=‘a’, c2=‘f’;

printf(\"%d,%c\\n\‘a’+‘B’);

A、2,M

B、5,!

C、2,E

D、5,G

27、下面四个哪一个是C语言正确的标识符()。

A、2xy

B、data_file

28、下面不正确的赋值语句是()。C、break

A、a==b

B、a++;

29、下面程序的输出是()。 main() {

charx=040;

C、a=1,b=1;

D、a+=b;

printf(\"%d\\n\ }

A、32

B、33

30、下列程序的输出结果是()。

#include?

voidmain() {

C、40

D、41

inta=-1,b=4,k;

k=++a+b--;

printf(\"%d%d%d\\n\ }

A、1 3 4

B、0 3 4

C、1 2 3

1、以下说法中正确的是____。

数开始执行

D、0 4 3

A、C语言程序总是从第一个函

main()函数中定义

B、在C语言程序中,要调用的

C、C语言程序总是从main()

函数必须在

函数开始执行D、C语言程序中的main()函数

必须放在程序的开始部分

2、C语言程序的基本结构单位是________。

A、函数

B、语句

C、字符

D、程序行

3、C语言规定在一个C程序中,main函数的位置________。

A、必须在开始

B、必须在最后

C、可以任意

4、编辑程序的功能是______。D、必须在系统调用的库函数之

A、调试程序

序B、建立并修改文件

C、将C语言程序编译成目标程

D、命令计算机执行指定的操作

5、在C语言中非法的字符或字符串常量是______。

A、\"int\"

B、'ab'

C、'\\n'

D、\"\\n\"

6、设a为整型变量,能表达数学关系10A、10B、a>10&&a<15

C、a>10 and a<15

D、a>10||a<15

7、在for(表达式1;表达式2;表达式3)循环中, _______常用于表示循环条件判断。

A、表达式1

B、表达式2

C、表达式3

8、下面程序的输出是:main() {int x=10,y=3;

printf(“%d\\n”,x/y); }

D、都不是A、0

B、1

C、3

9、下面程序的输出是:main() {int x=40; x++;

printf(“%d\\n”,x); }

D、不确定的值A、39

B、40

C、41

D、42

10、设j为int 型变量,则下面for循环语句的执行结果是: for(j=10;j>3;j=j-1) {if(j%3!=0)j=j-1; j=j-2;

printf(“%d”,j); }

A、6 3

B、7 4

C、6 2

D、7 3

11、若执行以下语句后,celsius变量的结果是______。 int celsius,fahr=100; celsius=6/12*(fahr-30);

A、0

B、35

C、

12、下列有关for语句的描述中: for(表达式1;表达式2;表达式3) 循环体语句

______是不正确的。

D、36

A、书写顺序和执行顺序不同

达式3循环执行B、表达式1只执行一次

C、表达式2,循环体语句,表

D、表达式1,表达式2,循环

体语句,表达式3循环执行

13、执行下列程序段后,变量sum、i的值是______。 for(sum=0,i=1; i<=100; i++)? sum=sum+i;

A、5050 101

B、5050 100

C、5051 100

、C语言程序中的常量类型()。D、5051 101

A、由书写形式确定

14

B、必须用定义语句定义

C、在运算时才能确定

D、无法确定

15、执行“scanf(\"a=%d,b=%d\, 要使变量a、b的值分别为3和4, 正确输入方法是()。

A、3,4

B、a:3 b:4

C、a=3,b=4

D、3 4

16、若输入,下列程序的执行结果是()。 void main( ) {

float r, area ; scanf(\"%f\

printf(\"%f\\n\}

A、0

B、

C、

D、程序有错

17、与数学表达式3xn/(2x-1)对应的C语言表达式是()。

A、3*x^n(2*n-1)

B、3*x**n/(2*x-1)

C、3*pow(x,n)/(2*x-1)

D、3*pow(n,x)/(2*x-1)

18、下面关于for循环的正确描述是()。

已知的情况

句,后判断表达式A、for循环只能用于循环次数

B、for循环是先执行循环体语

C、for循环只能用于循环次数

未知的情况

D、for循环的循环体语句中,

可以包含多条语句

19、下列程序运行时如果从键盘输入“789”,则运行结果是()。 #include <> void main() {

int a,b,c,x,y;

printf(“请输入3个整数:”);

scanf(\"%d%d%d\if(a>b){ x=a;y=b; } else{ x=b;y=a; }

if(xc) y=c;

printf(\"x=%d,y=%d\}

A、x=7,y=9

B、x=7,y=7

C、x=9,y=7

D、x=9,y=9

20、下面程序的功能是在输入的10个正整数中求出最大者,请选择填空。 #include<> void main() {

int i,a,max=0;

for(i=1;i<=10;i++){ (1);

if(maxprintf(\"%d\}

A、(1) scanf(\"%d\

mxa=a

mxa=a

a=mxa

B、(1) scanf(\"%ld\

C、(1) scanf(\"%d\

a=mxa

、以下错误的if语句是______。D、(1) scanf(\"%ld\

A、if(x>y);

1

B、if(x==y)x+=y;

C、if(x<>y){x++;y++;}

D、if(x!=y)

scanf(\"%d\

2、在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是______。

A、if(a)s1;else s2;

B、if(a==0)s2;else s1;

C、if(a!=0)s1;else s2;

3、以下错误的描述是______。

句switch语句外的任何其它语句D、if(a==0)s1;else s2;

A、break语句不能用于循环语

B、在switch语句中使用break

语句或continue语句的作用相同

C、在循环语句中使用

continue语句是为了结束本次循环,而不是终止整个循环

D、在循环语句中使用break

语句是为了使流程跳出循环体,提前结束循环

4、设有说明语句:inta=1,b=0;则执行以下语句后输出为______。 switch(a) {case1: switch(b)

{case0:printf(\"**0**\");break; case1:printf(\"**1**\");break; }

case2:printf(\"**2**\");break; }

A、**0**

B、**0****2**

C、**0****1****2**

D、有语法错误

5、以下四个关于C语言的结论中,只有一个是错误的,它是______。

环一定可以用for语句实现一定可以用while语句实现A、可以用while语句实现的循

B、可以用for语句实现的循环

C、可以用do-while语句实现

的循环一定可以用while语句实现

D、do-while语句与while语

句的区别仅是关键字“while”出现的位置不同

6、下面程序段中,do-while循环语句循环的次数是______. inti=1,sum=0; do

{sum+=i;}while(i<=100); printf(\"%d\\n\

A、1

B、100

C、0次(不循环)

D、无限次(死循环)

7、多重if_else语句嵌套使用时,寻找与else配套的if方法是_________。

A、缩排位置相同的if

B、其上最近的if

C、下面最近的if

D、同行上的if

8、以下判断两个字符串相等的正确方法是_________。

A、if(str1=str2)

B、if(str1==str2)

C、if(strcpy(str1,str2)=0)

D、if(strcmp(str1,str2)==0)

9、C语言的跳转语句中,对于break和continue说法正确的是_______。

环体中中

A、continue语句只应用于循

B、break语句只应用于循环体

continue不是

范围不够明确,容易产生问题

10、下列程序的执行结果是( )。#include<> main( ) {int s=0, k; for(k=7;k>=0;k--) {switch(k)

C、break是无条件跳转语句,

D、break和continue的跳转

{ case 1: case 4: case 7: s++; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; } }

printf(\"s=%d\\n\",s); }

A、s=4

B、s=7

C、s=3

D、s=5

11、与语句“y=(x>01:x<0-1:0);”的功能相同的if语句是______。

y=-1;else y=0;

if(x<0) y=-1; else y=0;A、if(x>0) y=1;else if(x<0)

B、if(x) if(x>0) y=1; else

C、y=-1; if(x) if(x>0) y=1;

else if(x==0) y=0; else y=-1;

D、y=0; if(x>=0) if(x>0)

y=1; else y=-1;

12、下面程序运行时,如果输入字符A,则输出的结果是______。 #include

voidmain()

{?

chargrade;

grade=getchar();

switch(grade){

case65:printf(\"85--100\");

case66:printf(\"70--84\");

case67:printf(\"60--69\");

case68:printf(\"不及格\");

default:printf(\"输入错误!\"); } }

A、85--100

B、8--69不及格输入错误!

C、70--84

D、不及格输入错误!

13、下面程序运行时,如果输入字符A,则输出的结果是______。 #include

voidmain() {?

chargrade;

grade=getchar();

switch(grade){

case‘A’:printf(\"85~100\");

case‘B’:printf(\"70~84\");

case‘C’:printf(\"60~69\");

case‘D’:printf(\"不及格\");

default:printf(\"输入错误!\"); }

putchar(‘\\n’); }

格输入错误!A、85~100

B、85~10070~8460~69不及

C、70~84

D、不及格输入错误!

14、输入一个学生的数学成绩(0~100),将他转换为五级积分制成绩后输出。如果输入不正确的成绩,显示“Invalidinput”。请填空。

voidmain() {

intmark; (1);

scanf(\"%d\ if((2)){

if(mark>=90)grade=‘A’;

esleif(mark>=80)grade=‘B’;

elseif(mark>=70)grade=‘C’;

elseif(mark>=60)grade=‘D’;

elsegrade=‘E’;

putchar(grade);

putchar(‘\\n’); }

elseprintf(\"Invalidinput\\n\");

}

mark>=0mark>0

A、(1)B、(1)2)2) char grade (

char grade (

mark<=0

mark<0

15、下列程序段的输出结果是______。

voidmain() {

C、(1)D、(1)2)2) char grade (

char grade (

intm,k=0,s=0;

for(m=1;m<=4;m++){

switch(m%4){ case0:

case1:s+=m;break; case2:

case3:s-=m;break; } k+=s; }

printf(\"%d\ }

A、-5

B、-3

16、下面程序段运行结果是_________。#include<> void main() { int i;

for(i=1; i<=5; i++){ if(i%2) printf(\"*\");

C、-4

D、-6

else continue; printf(\"#\"); }

printf(\"$\\n\"); }

A、*#*#*#$

B、#*#*#*$

C、*#*#$

D、#*#*$

17、运行下列程序,输出结果是______。 #include <> void main() { int x,y;

for(x=y=1;x<=100;x++){ if(y>=10)break;

因篇幅问题不能全部显示,请点此查看更多更全内容