C语言考试题目3.docx

上传人:b****3 文档编号:3948361 上传时间:2022-11-26 格式:DOCX 页数:21 大小:30.71KB
下载 相关 举报
C语言考试题目3.docx_第1页
第1页 / 共21页
C语言考试题目3.docx_第2页
第2页 / 共21页
C语言考试题目3.docx_第3页
第3页 / 共21页
C语言考试题目3.docx_第4页
第4页 / 共21页
C语言考试题目3.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言考试题目3.docx

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

C语言考试题目3.docx

C语言考试题目3

一、单项选择题(本大题共20题,每题2分,共40分)

1、以下不是C语言的特点的是()

A、C语言简洁、紧凑

B、能够编制出功能复杂的程序

C、C语言可以直接对硬件进行操作

D、C语言移植性好

2、以下不正确的C语言标识符是()

A、ABCB、abcC、a_bcD、ab.c

3、一个C语言程序是由()

A、一个主程序和若干子程序组成

B、函数组成

C、若干过程组成

D、若干子程序组成

4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是()

A、有零个或多个输入

B、有零个或多个输出

C、有穷性

D、可行性

5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为()

A、intB、floatC、doubleD、不确定

6、在C语言中,char型数据在内存中的存储形式是()

A、补码B、反码C、源码D、ASCII码

7、有如下程序,输入数据:

12345M678<cR>后(表示回车),x的值是()。

#include

main(){

intx;

floaty;

scanf("%3d%f",&x,&y);

}

A、12345B、123C、45D、345

8、若有以下定义inta,b;floatx,则正确的赋值语句是()

A、a=1,b=2

B、b++;

C、a=b=5

D、b=int(x);

9、以下程序的执行结果是()

#include

{

inti=10,j=10;

printf("%d,%d\n",++i,j--);

}

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

10、巳知字母A的ASCII码是65,以下程序的执行结果是()

#include

main()

{

charc1='A',c2='Y';

printf("%d,%d\n",c1,c2);

A、A,YB、65,65C、65,90D、65,89

11、下列运算符中优先级最高的是()

A、<B、十C、%D、!

12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是()。

A、’x’&&’y’

B、x<=y

C、x||y+z&&y-z

D、!

((x<y)&&!

z||1)

13、判断char型变量cl是否为小写字母的正确表达式为()

A、’a’<=c1<=f’z’B、(c1>=a)&&(c1<=z)

C、(‘a’>=c1)(‘z’<=c1)D、(c1>=’a’)&&(c1<=’z’)

14、字符串"a"在内存中占据的字节个数为()

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

15、下面有关for循环的正确描述是()

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句,后判定表达式

C、在for循环中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来

16、下面程序的运行结果是()

#include

main()

{intnum=0;

while(num<=2)

{num++;

printf(“%d,num);

}

}

A、1

B、12

C、123

D、1234

17、以下描述正确的是()

A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。

C、在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。

D、do-while循环中,根据情况可以省略while。

18、以下对一维整形数组a的正确说明是()

A、inta(10);B、intn=10,a[n];

C、intn;D、inta[10];

scanf(“%d”,&n);

inta[n];

19、以下对二维数组a的正确说明是()

A、inta[3][];B、floata(3,4);

C、doublea[1][4];D、floata(3)(4);

20、若二维数组a有m列,则在a[j]前面的元素个数为()

A、j*m+i

B、i*m+j

C、i*m+j-1

D、i*m+j+1

二、填空题(本大题共10空,每空2分,共20分)

1、结构化设计中的三种基本结构是___________________

2、在C语言中的实型变量分为两种类型,它们是________和_________

3、当a=5,b=4,c=2时,表达式a>b!

=c的值是_______

4、下列程序运行后的输出结果是_____________

#include

main()

{

inti,j;

for(i=4;i>=1;i--)

{printf("*");

for(j=1;j<=4-i;j++)

printf("*");

printf("\n");

}

5、若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是___________a[2][1]得到的初值是________________

6、在C语言中,二维数组元素的内存中的存放顺序是_______________

三、程序分析题(本大题共2题,每题4分,共8分,描述程序功能并写出程序执行结果)

1、#include

main()

{inta,s,n,count;

a=2;s=0;n=1;count=1;

while(count<=7){n=n*a;s=s+n;++count;}

printf(“s=%d”,s);

}

2、#include

main()

{inta=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;

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

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

if(i==j)sum=sum+a[j];

printf(“sum=%d\n”,sum);

}

 

四、编程题(本大题共4题,每题8分,共32分)

1、编写摄氏温度、华氏温度转换程序。

要求:

从键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。

转换公式:

F=(C+32)×9/5。

2、试编程判断输入的正整数是否既是5又是7的正倍数。

若是,则输出yes;否则输出no。

3、判断数m是否为素数(只能被1和它本身整除的整数)?

4、对15个数进行排序,按从小到大的顺序输出。

《C语言程序设计》期末考试试卷(A卷)评分标准及标准答案

一、单项选择题(本大题共20题,每题2分,共40分)

1、B2、D3、B4、B5、C

6、D7、B8、B9、A10、D

11、C12、D13、D14、C15、D

16、C17、C18、D19、C20、B

二、填空题(本大题共10空,每空2分,共20分)

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

2、单精度型(或:

float型)双精度型(或;double型]

3、1

4、*

**

***

****

5、06

6、按行主顺序存放

三、程序分析题(本大题共2题,每题4分,共8分)

能正确表达出题目的含义、要求,即可得分,部分正确可按比例得分,否则不得分。

1、功能:

求S=0+2+4+8+16+32+64+128和。

输出结果:

s=254

2、功能:

出矩形阵a的主对角线上的元素之和。

输出结果:

27

四、编程题(本大题共4题,每题8分,共32分)

能正确表达出题目的含义、要求,且格式正确,即可得满分,不要求形式完全相同。

部分正确可按比例得分,否则不得分。

1、#include

main()

{floatc,f;

printf("inputc:

");…………………………………………….2分

scanf("%f",&c);…………………………………………….2分

f=(c+32.0)*9.0/5.0;…………………………………………….2分

printf("F=%.2f\n",f);…………………………………………….2分

}

2、#include

main()

{intx;

scanf("%d",&x);…………………………………………….2分

if(x%5==0&&x%7==0)…………………………………………….2分

printf("yes");…………………………………………….2分

else

printf("no");…………………………………………….2分

}

3、#include

#include

main()

{intm,i,k;

scanf("%d\n",&m);

k=sqrt(m);…………………………………………….2分

for(i=2;i<=k;i++)…………………………………………….2分

{if(m%i==0)

break;…………………………………………….2分

}

if(i>k)

printf("misaprimenumber!

\n");…………………………………………….2分

}

4、#include

main()

{inti,j,a[15],t;

printf("input15numbers:

\n");

for(i=0;i<15;i++)

scanf("%d",&a);…………………………………………….2分

for(j=0;j<15;j++)…………………………………………….2分

for(i=0;i<15-j;i++)…………………………………………….2分

if(a>a[i+1])

{t=a;a=a[i+1];a[i+1]=t;}…………………………………………….2分

for(i=0;i<15;i++)

printf("%6d",a);

}

 

一、选择题:

1、一个C程序的执行是从(A)。

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

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

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

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

2、在C语言中,每个语句必须以(D)结束。

A. 回车符   B. 冒号   C. 逗号   D. 分号

3、C语言规定:

在一个源程序中,main函数的位置(C)。

A.必须在最开始        B.必须在系统调用的库函数的后面

C.可以任意           D. 必须在最后

4、一个C语言程序是由(B)。

A.一个主程序和若干子程序组成  B.函数组成

C.若干过程组成            D.若干子程序组成

5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:

主函数说明部分和主函数体

B. 主函数可以调用任何非主函数的其他函数

C. 任何非主函数可以调用其他任何非主函数

D. 程序可以从任何非主函数开始执行

6、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件   B. 生成目标文件

C. 输出运行结果       D. 自动保存源文件

 

二、填空题:

1、C语言只有32 个关键字和 9 种控制语句。

2、每个源程序有且只有一个 main  函数,系统总是从该函数开始执行C语言程序。

3、C语言程序的注释可以出现在程序中的任何地方,它总是以 \*   符号作为开始标记,以  */   符号作为结束标记。

4、C语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函   

数  printf   完成的。

5、系统默认的C语言源程序文件的扩展名是.c  ,经过编译后生成的目标文件的扩展名是.obj ,经过连接后生成的可执行文件的扩展名是.exe   。

6、C语言的标识符只能由字母、数字、下划线  三种字符组成。

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

一、选择题:

1、以下选项中,不正确的C语言浮点型常量是(C)。

A.160.   B.0.12   C.2e4.2    D. 0.0

2、以下选项中,(D)是不正确的C语言字符型常量。

A.'a'     B.'\x41'    C.'\101'    D."a"

3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。

A. 原码    B. 反码   C.ASCII码   D.BCD码

4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C )。

x=(i=4,j=16,k=32)

A.4      B.16     C.32     D.52

5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。

A. 算术运算、赋值运算、关系运算   B. 算术运算、关系运算、赋值运算

C. 关系运算、赋值运算、算术运算   D. 关系运算、算术运算、赋值运算

6、若有代数式,则不正确的C语言表达式是(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

7、表达式!

x||a==b等效于( D)。

A.!

((x||a)==b)   B.!

(x||y)==b   C.!

(x||(a==b))   D.(!

x)||(a==b)

8、设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后,m,n的值是(A)。

A.0,0   B.0,1   C.1,0   D.1,1

9、设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是(B)。

A.3   B.0   C.9   D.-12

10、在以下一组运算符中,优先级最低的运算符是( D)。

A.*   B.!

=   C.+   D.= 

11、设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是( B)。

A.6   B.12   C.15   D. 表达式出错

12、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。

A.1   B.2   C.2.0   D.2.5

13、sizeof(double)的结果值是( A )。

A.8   B.4   C.2   D. 出错

14、设a=1,b=2,c=3,d=4,则表达式:

a

a:

c

a:

d的结果为(D)。

A.4   B.3   C.2   D.1

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

10

A.10

C.a>10&&a<15           D.!

(a<=10)&&!

(a>=15)

16、设f是实型变量,下列表达式中不是逗号表达式的是( D)。

A.f=3.2,1.0   B.f>0,f<10   C.f=2.0,f>0   D.f=(3.2,1.0)  

17、表达式18/4*sqrt(4.0)/8值的数据类型是(C )。

A.int   B.float   C.double   D.不确定

18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句

C2=’A’+’6’-‘3’;后c2中的值是(A)。

A.D   B.68   C.不确定的值   D.C

19、以下用户标识符中,合法的是(B)。

A.int     B.nit     C.123    D.a+b

20、C语言中,要求运算对象只能为整数的运算符是(A )。

A.%     B./      C.>      D.*

21、若有说明语句:

charc='\72';则变量c在内存占用的字节数是(A)。

A.1   B.2   C.3   D.4

22、字符串"ABC"在内存占用的字节数是( B)。

A.3   B.4   C.6   D.8

23、要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。

A.chara="3";  B.chara=’3’;   C.chara=%;   D.chara=*;

24、下列不正确的转义字符是(C)。

A.\\   B.\'   C.074   D.\0

二、填空题:

1、C语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。

3、设c='w',a=1,b=2,d=-5, 则表达式'x'+1>c,'y'!

=c+2,-a-5*b<=d+1,b==a=2的值分别为   1   、   0   、   1   、  1   。

4、设floatx=2.5,y=4.7;inta=7;,表达式x+a%3*(int)(x+y)%2/4的值为 2.5 。

5、判断变量a、b的值均不为0的逻辑表达式为a!

=0&&b!

=0  。

6、求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为  4,4,10,6 。

7、求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为18,3,3  。

8、数学式a/(b*c)的C语言表达式  a/b/c  。

第7章 数组习题

A卷

1.单项选择题

(1)inta[4]={5,3,8,9};其中a[3]的值为(   )。

D

A.5      B.3      C.8      D.9

(2)以下4个字符串函数中,(   )所在的头文件与其他3个不同。

A

A.gets    B.strcpy    C.strlen    D.strcmp

(3)以下4个数组定义中,(   )是错误的。

D

A.inta[7];     B.#defineN5 longb[N];   C.charc[5];   D. intn,d[n];

(4)对字符数组进行初始化,(   )形式是错误。

B

A.charc1[]={'1','2','3'};   B.charc2[]=123;   C.charc3[]={'1','2','3','\0'};   D.charc4[]="123";

(5)在数组中,数组名表示(   )。

A

A.数组第1个元素的首地址    B.数组第2个元素的首地址

C.数组所有元素的首地址       D.数组最后1个元素的首地址

(6)若有以下数组说明,则数值最小的和最大的元素下标分别是(   )。

B

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12}; 

A.1,12   B.0,11   C.1,11   D.0,12

(7)若有以下说明,则数值为4的表达式是(   )。

 D

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};  charc=’a’,d,g; 

A.a[g-c]   B.a[4]   C.a['d'-'c']   D.a['d'-c]  

(8)设有定义:

chars[12]="string"; 则printf("%d\n",strlen(s)); 的输出是(   )。

A

A.6   B.7   C.11   D.12

(9)设有定义:

chars[12]="string"; 则printf("%d\n",sizeof(s));的输出是(   )。

D

A.6   B.7   C.11   D.12

(10)合法的数组定义是(   )。

A

A.chara[]="string";  B.inta[5]={0,1,2,3,4,5};   C.chara="string";   D.chara[]={0,1,2,3,4,5}

(11)合法的数组定义是(   )。

D

A.inta[3][]={0,1,2,3,4,5};   B.inta[][3]={0,1,2,3,4};

C.inta[2][3]={0,1,2,3,4,5,6};  D.inta[2][3]={0,1,2,3,4,5,};

(12)下列语句中,正确的是(   )。

D

A.chara[3][]={'abc','1'};  B.chara[][3]={'abc','1'};

C.chara[3][]={'a',"1"};   D.chara[][3]={"a","1"};

(13)下列定义的字符数组中,输出printf("%s\n",str[2]);的输出是(   )。

C

staticstr[3][20]={"basic","foxpro", "windows"}; 

A.basic   B.foxpro   C.windows  D. 输出语句出错

(14)下列各语句定义了数组,其中哪一个是不正确的(   )。

C

A.chara[3][10]={"China

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

当前位置:首页 > 工程科技 > 能源化工

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

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