c语言选择题

c语言选择题


2024年5月30日发(作者:)

1、1.关于C程序的构成描述,_________是不正确的。

A、一个源程序至少且仅包含一个main函数,也可包含一个main函数和若干个

其他函数。

B、函数由函数首部和函数体两部分组成,二者缺一不可。

C、函数首部通常是函数的第1行,包括:函数属性、函数类型、函数名、函数

参数等,不管有无函数参数,都必须用一对圆括号括起来。

D、函数体通常在函数首部下面,用一对花括号将声明部分和执行部分括起来,

但不能为空。

2、2.C程序中,不管是数据声明还是语句,都必须有一个结束符,它是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

D、*********

6、7.C语言是一种结构化的程序设计语言,任何程序都可以将模块通过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程序中,注释说明只能位于一条语句的后面

D、C程序的基本组成单位是函数

14、一个C程序的执行是从 。

A、本程序的main函数开始,到main函数结束

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

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

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

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

A、必须在程序的开头

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

C、可以在程序的任意位置

D、必须在程序的最后

16、C编译程序是 。

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

B、一组机器语言指令

C、将C源程序编译成应用软件

D、C程序的机器语言版本

17、以下叙述中正确的是 。

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

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

C、C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

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

18、用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、必须为字母或下划线

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

1、C语言中简单的数据类型包括______。

A、整型、实型、逻辑型

B、整型、实型、字符型

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

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

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

A、原码

B、补码

C、反码

D、ASCII码

3、设已说明int a=256,则执行语句“printf("%x",a);”的结果

是______。

A、0100

B、0256

C、0ffe

D、00ff

4、设有说明语句:char a;int b;float c;double d;则执行语

句c=a+b+c+d;后,变量c的数据类型是______。

A、int

B、char

C、float

D、double

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

A、printf需要格式说明,putchar不需要

B、putchar只能输出字符,不能输出数字

C、printf只能输出数字

D、没有区别

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

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

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

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

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

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

A、用逗号换行

B、用分号换行

C、用回车换行

D、在任意一空格处换行

8、若有说明语句:int a; float b;,以下输入语句正确的是

________。

A、scanf(

B、scanf(

C、scanf(

D、scanf(

9、执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方

法是________。

int a;

float b;

scanf("a=%d:b=%f",&a,&b);

A、25□2.5

B、25,2.5

C、a=25:b=2.5

D、a=25□b=2.5

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、设有定义“int a=5,b=6;”,则表达式(++a==b--)?++a:--b

的值是______。

A、5

B、6

C、7

D、8

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

int a,b,c,m=10,n=9;

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

A、11

B、10

C、9

D、8

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

main()

{

}

int x=10,y=3;

printf("%dn",y=x/y);

A、0

B、1

C、3

D、不确定的值

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

( )。

A、14

B、11

C、12

D、13

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

int a=7,b=2;

float y1,y2;

y1=a/b;

y2=(float)a/b;

A、3 3.5

B、3 3

C、3.5 3.5

D、7 2

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

#include

void main()

{

int a,b,c,t1.t2;

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

t1=a<问号(1);

t2=c

printf("%dn",t2);

}

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

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

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

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

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

#include

void main()

{

int i,j,m,n;

i=8;j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%dn",i,j,m,n);

}

A、8,10,8,9

B、8,11,8,9

C、9,11,9,10

)。

D、8,10,9,10

23、下面数据中属于字符型常量的是( )。

A、"AND"

B、'N'

C、"ABC"

D、'OR'

24、设a为整型变量,不能正确表达数学关系: 10

达式是________。

A、10

B、a==11||a==12||a==13||a==14

C、a>10&&a<15

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

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

A、<=

B、/

C、!=

D、&&

26、若有以下定义和语句,执行后的输出结果是______。

char c1=‘a’, c2=‘f’;

printf("%d,%cn",c2-c1,c2-‘a’+‘B’);

A、2,M

B、5,!

C、2,E

D、5,G

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

A、2xy

B、data_file

C、break

D、*********

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

A、a==b

B、a++;

C、a=1,b=1;

D、a+=b;

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

main()

)。

{

}

char x=040;

printf("%dn",x=x++);

A、32

B、33

C、40

D、41

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

#include

void main()

{

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

k=++a+b--;

printf("%d %d %dn",a,b,k);

}

A、1 3 4

B、0 3 4

C、1 2 3

D、0 4 3

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

A、C语言程序总是从第一个函数开始执行

B、在C语言程序中,要调用的函数必须在main()函数中定义

C、C语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分

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

A、函数

B、语句

C、字符

D、程序行

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

A、必须在开始

B、必须在最后

C、可以任意

D、必须在系统调用的库函数之后

4、编辑程序的功能是______。

A、调试程序

B、建立并修改文件

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

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

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

A、"int"

B、'ab'

C、'n'

D、"n"

6、设a为整型变量,能表达数学关系10

______。

A、10

B、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

D、都不是

8、下面程序的输出是:

main()

{ int x=10,y=3;

printf(“%dn”,x/y);

}

A、0

B、1

C、3

D、不确定的值

9、下面程序的输出是:

main()

{ int x=40;

x++;

printf(“%dn”,x);

}

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、35.0

D、36

12、下列有关for语句的描述中:

for(表达式1;表达式2;表达式3)

循环体语句

______是不正确的。

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

B、表达式1只执行一次

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

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

D、5051 101

14、C语言程序中的常量类型( )。

A、由书写形式确定

B、必须用定义语句定义

C、在运算时才能确定

D、无法确定

15、执行“scanf("a=%d,b=%d",&a,&b);” 语句, 要使变量a、b的值

分别为3和4, 正确输入方法是( )。

A、3,4

B、a:3 b:4

C、a=3,b=4

D、3 4

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

void main( )

{

float r, area ;

scanf("%f", &r);

printf("%fn", area=1/2*r*r);

}

A、0

B、3.125

C、3.13

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、下列程序运行时如果从键盘输入“7 8 9”,则运行结果是

( )。

#include

void main()

{

int a,b,c,x,y;

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

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

if(a>b){

x=a;y=b;

}

else{

x=b;y=a;

}

if(x

if(y>c) y=c;

printf("x=%d,y=%d",x,y);

}

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(max

}

printf("%d",max);

}

A、(1) scanf("%d",&a) (2) mxa=a

B、(1) scanf("%ld",&a) (2) mxa=a

C、(1) scanf("%d",&a) (2) a=mxa

D、(1) scanf("%ld",&a) (2) a=mxa

1、以下错误的if语句是______。

A、if(x>y);

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

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

D、if(x!=y) scanf("%d",&y);

2、在下面的条件语句中(其中s1和s2表示是C语言的语句),只有

一个在功能上与其它三个语句不等价,它是______。

A、if(a)s1;else s2;

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

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

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

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

A、break语句不能用于循环语句switch语句外的任何其它语

B、在switch语句中使用break语句或continue语句的作用相

C、在循环语句中使用continue语句是为了结束本次循环,而

不是终止整个循环

D、在循环语句中使用break语句是为了使流程跳出循环体,提

前结束循环

4、设有说明语句:int a=1,b=0;则执行以下语句后输出为______。

switch(a)

{ case 1:

switch(b)

{ case 0: printf("**0**");break;

case 1: printf("**1**");break;

}

case 2: printf("**2**");break;

}

A、**0**

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

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

D、有语法错误

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

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

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

C、可以用do-while语句实现的循环一定可以用while语句实

D、do-while语句与while语句的区别仅是关键字“while”出

现的位置不同

6、下面程序段中,do-while循环语句循环的次数是______.

int i=1,sum=0;

do

{sum+=i;}while(i<=100);

printf("%dn",sum);

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语句只应用于循环体中

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

D、break和continue的跳转范围不够明确,容易产生问题

10、下列程序的执行结果是( )。

#include

main( )

{int s=0, k;

for(k=7;k>=0;k--)

{switch(k)

{

case 1:

case 4:

case 7:

s++;

break;

case 2:

case 3:

case 6:

break;

case 0:

case 5:

s+=2;

break;

}

}

printf("s=%dn",s);

}

A、s=4

B、s=7

C、s=3

D、s=5

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

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

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

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

void main()

{

char grade;

grade=getchar();

switch(grade){

case 65: printf("85--100");

}

case 66: printf("70--84");

case 67: printf("60--69");

case 68: printf("不及格");

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

}

A、85--100

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

C、70--84

D、不及格输入错误!

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

#include

void main()

{

char grade;

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),将他转换为五级积分制成绩

后输出。如果输入不正确的成绩,显示“Invalid input”。请填空。

void main()

{

int mark;

(1);

scanf("%d",mark);

if( (2) ){

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

esle if(mark>=80) grade=‘B’;

else if(mark>=70) grade=‘C’;

else if(mark>=60) grade=‘D’;

else grade=‘E’;

putchar(grade);

putchar(‘n’);

}

else printf("Invalid inputn");

}

A、(1) char grade (2) mark>=0

B、(1) char grade (2) mark>0

C、(1) char grade (2) mark<=0

D、(1) char grade (2) mark<0

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

void main()

{

int m,k=0,s=0;

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

switch(m%4){

case 0:

case 1: s+=m;break;

case 2:

case 3: s-=m;break;

}

k+=s;

}

printf("%d",k);

}

A、-5

B、-3

C、-4

D、-6

16、下面程序段运行结果是_________。

#include

void main()

{

int i;

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

if(i%2) printf("*");

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;

if(y%3==1){y=y+3;continue;}

}

printf("%dn",x);

}

A、3

B、4

C、5

D、6

18、程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最

高成绩和最低成绩,当输入负数时结束输入,请在划线处填空。

#include

void main()

{

float x,amax,amin;

scanf("%f",&x);

}

amax=x;amin=x;

while( (1) ){

if(x>amax) amax=x;

if( (2) ) amin=x;

scanf("%f",&x);

}

printf("namax=%fnamin=%fn",amax,amin);

A、(1) x>=0 (2) x>=amin

B、(1) x<=0 (2) x<=amin

C、(1) x>=0 (2) x<=amin

D、(1) x<=0 (2) x>=amin

19、C语言对嵌套if语句的规定是:else总是与______配对。

A、与之前最近的if

B、第一个if

C、缩进位置相同的if

D、其之前最近的且尚为配对的if

20、若有下面程序片段,则输出结果为______。

int k=-3;

if(k<0)printf("####")

else printf("&&&&");

A、####

B、&&&&

C、####&&&&

D、有语法错误,无法运行。

二、

填空题 (每空5分,共10分)

1、下列程序执行结果是______9______。

#include

main( )

{int I,j,k,s=0;

for(I=0;I<3;I++)

for(j=0;j<4;j++)

{for(k=0;k<2;k++)

s=s+I+j+k;

}

printf("%d",s);

}

答:

2、执行下列程序,若由键盘输入4,程序执行结果是___。

#include

main( )

{int s=0,I;

scanf("%d",&I);

do

{

if(I==0)

break;

else

{s=s+I;

printf("%dt",s);

}

}while(--I);

}

答: 4 7 9 10


发布者:admin,转转请注明出处:http://www.yc00.com/news/1717074425a2733552.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信