c语言复习题面试题考试题-全

更新时间:2023-04-17 02:56:01 阅读量: 实用文档 文档下载

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

不定项选择题(针对以下题目,请选择最符合题目要求的答案,每道题有一项或二项正确答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。题量为50道,每题2分,总分为100分。)

第一章

1)对于C语言的描述说法错误的是()。

A、它是一种计算机程序设计语言

B、它既有高级语言的特点,又具有汇编语言的特点

C、它不可以作为系统设计语言,编写系统应用程序

D、它可以作为应用程序设计语言,编写不依赖计算机硬件的应用程度

2)在C语言中,下图所示的流程图符号代表的是()。(选择一项)

A、程序开始或结束

B、判断和分支

C、输入/输出指令

D、计算步骤

3、下列关于算法的说法正确的是()(选择二项)

A、算法必须在有限步骤内解决问题

B、算法可能需要无穷步才能解决问题

C、算法应该有确定的结果

D、算法的计算结果无法预知

4、在C中,多行注释使用( ) 符号结尾(选择一项)

A、/*

B、*/

C、*

D、oc B、.txt C、.ppt D、.c或.cpp

7、以下对C语言源程序的结构特点描述错误的是()(选择一项)

A、一个C语言源程序可以由一个或多个源文件组成

B、每一个源文件只能有一个函数组成

C、一个源程序有且只有一个main函数充当主函数

D、每一个说明,每一个语句都必须以分号结尾

8、下列对C语言头文件描述错误的是()(选择一项)

A、中包含了标准的输入输出函数以及字符串出来函数

B、中包含了数学运算函数

C、中包含了各类基本函数

D、中包含了时间和日期的处理函数

9、从开发C语言程序到让计算机可以执行命令,需要经过以下步骤中正确的是()(选择一项)

A、编辑编译预处理连接加载执行

B、编辑预处理编译连接加载执行

C、编辑预处理连接编译加载执行

D、编辑预处理连接编译加载执行

10、在C语言中,下图所示的流程图符号代表的是()。(选择一项)

A、程序开始或结束

B、判断和分支

C、输入/输出指令

D、处理过程

11、在C语言中,下图所示的流程图符号代表的是()。(选择一项)

A、程序开始或结束

B、判断和分支

C、输入/输出指令

D、处理过程

第二章

3)在C语言中,以下声明变量和变量的初始化的语法错误的是()。(选择一项)

A、int width=height=10;

B、int width,height;height=width=10;

C、int _a_b_c_d = 10;

D、double auto = ;

4)C语言中,变量的命名规则包括()。(选择二项)

A、变量名的第一个字符必须是字母、数字或下划线

B、变量名必须以字母或下划线开头

C、变量名不区分大小写

D、第一个字母后可以是字母、数字和下划线组成的序列

3、在C语言中,下列变量定义和赋值错误的是()(选择一项)

A、short i = 5; int j = i;

B、char c = “c”; int j = c;

C、float f= ‘c’+1;

D、float i = 5; double d = i;

4、在C语言中定义了如下变量:double x=;int y=3;int z=2;下面强制类型转换符都发生了作用,除了()(选择一项)

A、(int)(x+y/z);

B、(int)(x/y);

C、(int)x;

D、(int)(y+z);

5、在C#中,下列代码运行后,变量c的值是( )(选择一项)

int a = 15,b=10;

float c = (float)a/b;

A、0

B、1

C、

D、5

6、在以下数据类型中,不是C常用数据类型的是()(选择一项)

A、int

B、double

C、char

D、string

7、在C语言中,下列()情况不需要定义常量(选择一项)

A、程序中经常使用到某个值,而这个值保持不变,例如圆周率

B、某个值在程序中保持不变,并且具有很多位小数,在程序代码中不好书写

C、某个固定不变的值非常简单,但是需要在很多地方频繁使用

D、某个值非常复杂,而且需要在很多地方频繁使用,但是这个值在不同的地方可能不同

8、在C语言中,假设有定义:int i; char c,*s; float f,g; 则结果为整型的表达式有()(选择二项)

A、i+f

B、i*c

C、f*(int)g

D、‘A’+48

9、在C应用程序中,商品价格类的数据最好使用( )数据类型的变量存储(选择一项)

A、int

B、String

C、char

D、double

10、在C中,下列( )是合法的标识符(选择二项)

A、A123

B、#A123

C、588TTT

D、s123_Name

11、在c语言中,下列选项不能用作变量标识符的是()。(选择一项)

A、1_ABC

B、_2av

C、wec

D、int_3_

12、在C语言中若有以下定义,则表达式a*b+d-c的值的类型为()。(选择一项)

char a;

int b;

float c;

double b;

A、float

B、int

C、char

D、double

13、在C中,包含如下main函数,则编译运行后的结果是( ) (选择一项)

void main(){

double c=; 2345’-1 2 C10 C18 C3 C1 C6 C选择一项)

int age=2;

int w=sizeof(age);

printf("%d",w);

A、0

B、2

C、4

D、8

13、给定c代码如下:要使这段代码能够编译成功,横线处可以填入()(选择二项)public int count(char c,int i,double d)

{

return________;

}

A、c*i

B、c*(int)d

C、(int)c*d

D、i*d

14、在C语言中,经过如下运算后,num的值为()(选择一项)

int num=0;

num=2>30:1;

A、0

B、1

C、2

D、3

15、在C语言中,要判断整型变量x是否等于0,下面( )语句是正确的(选择一项)

A、x<>0

B、x==0

C、x=0

D、x!<>0

16、在c语言中,运行以下代码后,屏幕的输出结果是()。(选择一项)

#includ<>

viod main(){

int x=1,y=1,z=1,t=1;

t=(x++)+y+(--z);

printf(''%d'',t);

}

A、1

B、2

C、3

D、4

17、在c语言中,关系运算符就是用于测试两个操作系统数之间关系的符号,以下运算符中不是关系运算符的是()。(选择一项)

A、>

B、<

C、==

D、!

18、二元运算符是指处理两个操作数的运算符,以下()操作符不是C语言中的二元运算符。(选择一项)

A、+

B、--

C、%

D、&&

19、有如下C语言程序,则程序运行后的输出结果为()。(选择一项)

#include <>

void main(){

int a=3;

printf(“%d\n“,a*3>101:2)

A、1

B、2

C、0

D、10

20、在C语言中,10%5的值为()(选择一项)

A、5

B、2

C、0

D、-1

21、给定如下C代码,编译运行之后,将会输出( ) (选择一项)

void main(){

int a = 5;

printf(“%d”,(a%2==1)(a+1)/2:a/2);

A、1

B、2

C、

D、3

22、有如下C语言程序,则程序运后的输出结果为()(选择一项)

#include < >

void main()

{

int a=2;

int b=3;

int c;

printf("%d\n",c=a>ba:b);?

}

A、2

B、3

C、1

D、0

23、在C语言中,设x,y,z,m均为int型变量,则执行以下语句后,m 的值为()x=z=1;

y=0;

m=x||y&&z;(选择一项)

A、2

B、1

C、0

D、-1

24、在C语言中,下列代码的输出结果是()(选择一项)

void main(){

int a=10,b=13,max=0;

max=a>ba++:--b;

printf(“%d“,max);

}

A、10

B、11

C、12

D、13

25、void main()

{

int a=10,b=6;

if(a==b)

printf(“%d“,++a);

else

printf(“%d“,b--);

}运行的结果是()(选择一项)

A、10

B、11

C、5

D、6

26、在C代码程序中,运行以下表达式后,变量a的值是()(选择一项)int a=1+2*3%4/5;

A、1

B、2

C、3

D、4

27、在C语言中,不等于的运算符表示为( )(选择一项)

A、<>

B、!=

C、<=

D、!<>

28、在C语言中,判断变量是否相等的运算符表示为( )(选择一项)

A、=

B、!=

C、<=

D、==

29、在C语言中,关系运算符的返回结果为真时用( )表示(选择一项)

A、true

B、0

C、1

D、false

30、在C语言中,逻辑非用( )表示(选择一项)

A、!

B、&&

C、||

D、|

31、已知:int a=1,b=2,c,则以下赋值正确的是()(选择一项)

A、c=a+b=3;

B、a+b=c;

C、a=b=3=c;

D、c=a+3

32、已知:int a=1,b=2,c,则以下赋值正确的是()(选择一项)

A、c=a+b=3;

B、a+b=c;

C、a=b=3=c;

D、c=a+3

33、已知表达式x*=y+10,则和它等价的表达式为()(选择一项)

A、x=x*y+10

B、x=x*(y+10)

C、x=x*y+x+10

D、x=y+10

34、以下C语言代码的输出结果为()(选择一项)

void main(){

int m,n;

m=n=5;

m+=10;

n*=2;

m+=m+=n+=n%=2;

printf("%d",m);

}

A、28

B、29

C、30

D、31

35、以下C语言代码的输出结果为()(选择一项)

void main(){

int m =5;

m+=10;

printf("%d",m);

}

A、15

B、10

C、5

D、20

36、以下C语言代码的输出结果为()(选择一项)

void main(){

int a,m=5;

m=(a=3*5,a*4);

printf("a=%d,m=%d",a,m);

}

A、a=15,m=60

B、a=60,m=15

C、a=60,m=75

D、a=15,m=15

37、以下C语言代码的输出结果为()(选择一项)

void main(){

m=(3*5,4,10,2+5);

printf("m=%d",m);

}

A、m=15

B、m=4

C、m=10

D、m=7

38、在c语言中,下列代码的输出结果是( ).(选择一项)

int w=sizeof(10);

printf("%d",w);

A、0

B、2

C、4

D、10

39、在c语言中,下列代码的输出结果是( ).(选择一项)

Char ch=’c’;

int w=sizeof(ch);

printf("%d",w);

A、0

B、1

C、2

D、4

第四章

5)在C语言中,下面()转义序列表示换行。(选择一项)

A、\a

B、\n

C、\r

D、\f

6)在C语言中,为了输出如图所示的一个字符,下面代码正确的是()。(选择一项)

A、getchar('C');

B、putchar('C');

C、printf('C');

D、scanf("C");

7)在C语言中,()函数可以用于从键盘每次读取一个字符。(选择一项)

A、printf()

B、putchar()

C、puts()

D、getchar()

4、在C语言中,下列代码片段的输出结果是()(选择一项)

float a =50;

int b =4;

float c = a/b;

printf(“%3.1f”,c);

A、0

B、12

C、

D、

5、C语言中,scanf()函数可以使用()格式说明符接受单字符型变量的值。(选择一项)

A、%c

B、%d

C、%f

D、%s

6、在c语言中,下列代码的输出结果是( ).(选择一项)

void main()

{

printf(“%1.0f\n”,sqrt(4));

}

A、0

B、2

C、4

D、16

7、在C语言中,下列代码片段的输出结果是()。(选择一项)

double x=;

double y=floor(x);

printf(“%.0f”,y);

A、98

B、99

C、100

D、101

8、在c语言程序中,下列程序运行的结果为()(选择一项)

#includ<>

void main()

{

int a=777,b=999;

printf(“%d\n“,a,b);

}

A、出现错误

B、777

C、999

D、777 999

9、#include<>

void main()

{

int a=97,c=65;

printf("a=%c,c=%c\n",a,c);

}

以上C程序的运行结果是()(选择一项)

A、a=%a,c=%A

B、a=a,c=A

C、a=97,c=65

D、a=A,c=a

10、在C语言中,如下代码段的输出结果是()(选择一项)

int y=12345;

printf(“y=%4d“,y);

A、y=12345

B、y=1234

C、y=2345

D、y=4

11、下列C语言代码的输出是()(选择一项)

void main(){

char ch;

ch='a'+3;

putchar(ch);

}

A、a+3

B、100

C、c

D、d

12、在C语言中,能使整型变量i=2输出为002的语句是()(选择一项)

A、printf("%3d",i);

B、printf("03%d",i);

C、printf("%000d",i);

D、printf("%03d",i);

13、在C语言中,为了得到如图所示的运行结果,在空白处应该添加的代码是()。(选择一项)

void main()

{

int x;

float y;

printf("enter x,y:");

空白处

}

A、scanf("%d %f",&x,&y); printf("\nx+y=%4.2f",x+y);

B、scanf("%d,%f",&x,&y); printf("\nx+y=%4.2f",x+y);

C、scanf("%d,%f",&x,&y); printf("\nx+y=%6.1f",x+y);

D、scanf("%d,%3.1f",&x,&y); printf("\nx+y=%4.2f",x+y);

14、以下代码是C文件中的代码,请分析该段代码的运行结果是()(选择一项)void main(){

printf(“HELLO”);

printf(“World!”);

}

A、HELLO!

World!

B、存在注释错误,无法通过编译

C、main()方法修饰符错误,无法通过编译

D、HELLO!World!

15、给定一个C程序的代码片断如下,编译运行后的输出结果是()(选择一项)char c='a';

int i=c;

float f=i++;

int b=(byte)(f+1);

printf(“%c,%d,%.1f,%d”,c,i,f,b);

A、a,97,,98

B、a,97,97,98

C、a,98,,98

D、a,98,97,98

16、在C语言中,下列代码的运行结果是()(选择一项)

#include “”

void main()

{

double squ,power,value;

squ=sqrt(4);

power=pow(3,2);

value=pow(power,squ);

printf(“%1.0f”,value);

}

A、1

B、16

C、81

D、256

17、C语言中,scanf()函数可以使用()格式说明符接受整型变量的值。(选择一项)

A、%c

B、%d

C、%f

D、%s

18、C语言中,scanf()函数可以使用()格式说明符接受单精度浮点型变量的值。(选择一项)

A、%c

B、%d

C、%f

D、%s

第五章

1、已知下列C语言代码的输出结果是2008年是闰年,已知闰年的判定规则是:能被4整除但不能被100整除的年份,或能被400整除的年份。请问在空白处可以填写的代码是()(选择一项)

void main()

{

int i=2008;

if(空白处)

{

printf(“%d年是闰年”,i);

}

getchar();

}

A、(i%4==0‖i%100!=0)&&i%400==0

B、!(i%4==0 && i%100==0‖i%4!==0) !(i%4==0 && i%100==0‖i%4!==0)

C、i%4==0 && i%100==0‖i%4!==0

D、(i%4==0 && i%100!=0)‖i%400==0

2、在C语言中,下列代码的运行结果是( ).(选择一项)

void main()

{

int a = 1,b = 2 ,c = 3;

if(a<0)

if(b<0)

c = 10;

else

c = 20;

printf(“%d”,c);

}

A、输出:10

B、输出:20

C、输出:3

D、编译报错

3、在C语言中,下列关于条件语句的描述中,正确的是()(选择二项)

A、当if语句嵌套使用时,最后一个else和最近的一个没有else匹配的if匹配

B、一个if可以有多个else与之匹配

C、一个switch语句总是可以被一系列if..else语句替换

D、switch(表达式)语句中的表达式可以是任何类型

4、在C语言中,关于下列代码的说法正确的是()(选择二项)

#include

void main()

{

int x,y;

scanf("%d",&x);

scanf("%d",&y);

if(x>y)

{

x+=y; y++;

}

else

{

y+=x; x++;

}

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

}

A、若输入数据1和4,则输出2和5

B、若输入数据4和1,则输出5和2

C、若输入数据4和4,则输出4和4

D、若输入数据4和4,则输出8和5

5、在C中,给定代码片段如下所示,则编译运行后,输出结果是( )(选择一项) for(int i =0 ; i<10 ; i++){

if(i==10-i){

break ;

}

if(i%3!=0){

continue;

}

printf(i+““);

}

A、0

B、0 3

C、0 3 6

D、0 3 6 9

6、给定某C程序片断如下,该程序运行后,i的输出结果是()(选择一项)int i=1;

int j=i++;

if(i>++j)&&(i++==j))

i+=j;

println(“%d”,i);

A、1

B、2

C、3

D、4

7、在C语言中,关于下列代码的输出结果是()(选择一项)

#include

void main()

{

int x=10,y=11;

if(x>y)

{

printf(“x>y”);

}else if(x==y)

{

printf(“x==y”);

}

else

{

printf(“x

}

}

A、x>y

B、x

C、x==y

D、什么都不输出

8、在C语言中,关于下列代码的输出结果是()(选择一项)

#include

void main()

{

if(0)

{

printf(“0”);

}

else

{

printf(“1”);

}

}

A、1

B、0

C、程序出现编译错误

D、什么都不输出

9、在C语言中,关于下列代码若输入40,则输出结果为()(选择一项)

#include ""

void main()

{

int money;

printf("请输入存款(单位为万):");

scanf("%d",&money);

if(money>100)

{

printf("我要买拍萨特\n");

}

else if(money>50)

{

printf("我要买伊兰特\n");

}

else if(money>10)

{

printf("我要买奥托\n");

}

else

{

printf("我要买捷安特\n");

}

}

A、我要买拍萨特

B、我要买伊兰特

C、我要买奥托

D、我要买捷安特

10、在C语言中,关于下列代码的输出结果为()(选择一项)

#include ""

void main()

{

int year=2015,month=2,day=0;

if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)

{

day=31;

}

else if(month==4 || month==6 || month==9 || month==11)

{

day=30;

}

else if(month==2)

{

day=28;

if(year%4==0 && year%100!=0 || year%400==0)

{

day+=1;

}

}

printf("%d年%d月有%d天\n",year,month,day);

}

A、28

B、29

C、30

D、31

11、在C语言中,关于下列代码的说法正确的是()(选择二项) #include

void main()

{

int x,y;

scanf("%d",&x);

scanf("%d",&y);

if(x>y)

{

x+=y;

If(x=4){

y++;

}

}

else

{

x++;y+=x;

}

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

}

A、若输入数据1和4,则输出2和5

B、若输入数据4和1,则输出5和2

C、若输入数据4和4,则输出5和9

D、若输入数据4和4,则输出8和5

12、在C语言中,关于下列代码的说法正确的是()(选择一项) #include

void main()

{

int x,y;

scanf("%d",&x);

scanf("%d",&y);

if(x

{

x+=y; y++;

}

else

{

x++;

If(x==4){

y+=x;

}

}

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

}

A、若输入数据1和4,则输出2和5

B、若输入数据4和1,则输出5和1

C、若输入数据4和4,则输出5和9

D、若输入数据4和4,则输出8和5

第六章

8)在C 语言中,下列代码的运行结果是()。(选择一项)int a=2;

switch(a){

case 1:

printf("in case 1 a=%d",a);

break;

case 2:

printf("in case 2 a=%d",a);

case 3:

printf("in case 3 a=%d",a);

break;

default:

printf("in default a=%d",a);

}

A、in case 1 a=1incase 2 a=2

B、in case 1 a=2in case 2 a=2 in case 3 a=2

C、in case 2 a=2in case3 a=2

D、in default a=2

9)给定一个C语言程序的代码片断,如下:

if(grade=='A'||grade=='B')

score=90;

else if(grade=='C'||grade=='D')

score=70;

else

score=60;

把这段代码转换为switch语句,以下正确的是()。(选择一项)

A、switch(grade)

{

case’A’:

case’B’:score=90;

case’C’:

case’D’:score=70;

default:score=60;

}

B、switch(grade)

{

case’A’:break;

case’B’:score=90;

case’C’:break;

case’D’:score=70;

default:score=60;break;

}

C、switch(grade)

{

case’B’:score=90;break;

case’D’:score=70;break;

default:score=60;break;

}

D、switch(grade)

{

case’A’:

case’B’:score=90;break;

case’C’:

case’D’:score=70;break;

default:score=60;break;

}

3、#include<>

void main()

{

int n=3;

switch(n)

{

case 1:

printf(“!”);

break;

case 2:

printf(“”);

break;

default:

printf(“$”);

}

}

在C语言中,执行上面程序后,输出是( ).(选择一项)

A、!

B、

C、$

D、无输出

4、在C中,以下程序编译运行后的输出结果为( ) (选择一项)

void main(){

int a=5;

int s=0;

switch(a){

case 5:

s=s+2;

case 3:

s=s+5;

case 8:

s=s+6;

default:

s=s+10;

break;

}

printf(s);

}

A、2

B、0

C、7

D、23

5、在c语言中,执行下面的程序时,若输入“hello”,则输出结果为()(选择一项)#include<>

void main(){

char ch;

int m=0,n=0;

do{

switch(ch=getchar()){

case 'a': case 'e':break;

case 'i':case 'o':m++;

break;

default:n++;

}

}while(ch!='\n');

printf(“\n m=%d,n=%d“,m,n);

}

A、m=1,n=2

B、m=2,n=3

C、m=1,n=4

D、m=2,n=4

6、有如下的C语言程序,则程序运行后的输出结果是()(选择一项)

#include< >

void main()

{

int x=1;

int y=0;

switch(x)

{

case 1:

switch(y)

{

case 0:

printf("*0*");

break;

case 1:

printf("*1*");

break;

}

case 2:

printf("*2*");

break;

}

}

A、*0*

B、*0**1*

C、*0**2*

D、*0**1**2*

7、C语言中有如下代码,下列x的定义中,可以使上段代码输出100的有()(选择二项)switch(x){

case100:

printf(“100”);break;

case 110:

printf (“100”);break;

}

A、int x=100;

B、float x=100;

C、char x=’d’;

D、long x=100;

8、阅读以下C代码,在横线处填入( ),输出结果中可以包含"3"(选择二项)

void main(){

int a=__________;

switch(a){

dafault;

printf("default");

break;

case 1:

printf("1");

break;

case 2:

printf("2");

case 3:

printf("3")

}

}

A、4

B、3

C、2

D、default

9、给定如下C代码片段,编译运行的结果是().(选择一项)

int i=0,j=-1;

switch(i){

case 0,1:j=1;

case 2: j=2;

}

"j="+j);

A、程序编译出错

B、输出:j=1

C、输出:j=2

D、输出:j=0

第七章

10)C语言中,i为int类型,进入下面的循环之前,i的值为0,则循环执行的次数为()。

(选择一项)

do

{

i++;

}while(i<2);

A、0

B、1

C、2

D、3

11)在C语言中,下列代码的循环体执行的次数是()。(选择一项)void main()

{

int n=2;

while(n=0)

{

printf("%d",n);

n--;

}

}

A、0 次

B、1次

C、2次

D、3次

3、在C语言中,下列代码的输出结果是()(选择一项)

void main(){

int i=5,j=10;

do

{

if(i>j)

break;

j--;

i++;

}while(j!=i);

pr intf(“%d,%d“,i,j);

}

A、8,7

B、9,6

C、7,6

D、7,8

4、分析下面的C语言代码:下面说法正确的是()(选择一项)

void main(){

int x=3;

do

{

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

}while(!x);

}

A、输出:3

B、输出:321

C、输出:21

D、不输出任何内容

5、分析下面的C语言字段,编译运行后的输出结果是( )(选择一项)

for (int i = 0; i<6 ;i++){

int k = ++i;

while(k<5) {

printf(“%d”,i);

break;

}

}

A、024

B、02

C、13

D、123

6、在C语言的控制结构中,break语句是经常用到的语句。下面一段代码中break语句起到()的作用(选择一项)

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

Top