您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页C语言试卷和答案

C语言试卷和答案

来源:叨叨游戏网
C语言试卷

一、选择题(共20小题,每题2分,共40分) 1. 以下叙述正确的是____。 C

A.在C程序中,main函数必须位于程序的最前面。 B.C程序每行中只能写一条语句。 C.C语言本是没有输入输出语句。

D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 2. 用来表示变量A的首地址正确的写法是( )。 B A.A->p B.&A C.*A D.A.p

3. 设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句正确的是()。D A.float *p=x; B.int *p=(float)x; C.float p=&x; D.float *p=&x;

4.设x、y、z都是整型变量,x、y的初值都是5,执行z=(++x)+(y- -)+1后,x、y、z三变量的值按顺序是( )。 D

A.5, 5, 11 B.6, 6, 13 C.4, 6, 12 D.6, 4, 12 5. 以下循环体的执行次数是( )。 C for(x=0,y=0;(y=123)&&(x<4);x++);

A.无限循环 B.循环次数不定 C.执行4次 D.执行3次 6. 下面()对变量的说明是错误的。 A

A. char c1, int x; B. int a,b; float x, y; C. int a; int b; D. char c1; int x; 7语句scanf(“%d,%d”,&a,&b)输入数据时,下列输入法正确的是 ____。A A.1,2 B. 1 2 C.1;2 D.12

8.执行语句for(i=1;i++<4; );后变量i的值是( )。 B A.3 B.4 C.5 D.不定 9. 执行下列程序后的k的值:____。C int I,j,k;

for(i=0,j=10;iA.9 B.8 C.10 D.11 10. 若有以下类型说明语句:

char w;int x;float y;double z;

则表达式w*x+z-y的结果为( )类型。B A、float B、double C、int D、char

11. 一个函数返回值的类型是由( )决定的。B

A、return语句中的表达式类型; B、定义函数时所指定的函数类型 C、调用该函数的函数的类型 D、调用函数时临时类型 12. 对于下面的for循环语句,可以断定它( )。C for(x=0,y=0;(y!=123)&&(x<4);x++) printf(“--------“);

A、是无限循环(死循环) B、循环次数不定 C、共执行4次循环 D、共执行3次循环

13. 设有以下语句,则( )不是对a数组元素的正确引用,其中0<=i<10。A int a[10]={0,1,2,3,4,5,6,7,8,9}; int *p=a;

A、a[p-5] B、*(&a[i]) C、a[i] D、*(a+i)

14. 假定有以下变量定义:int k=7, x=12;则能使值为3的表达式是( ) 。D A、x%=(k%=5) B、x%=(k-k%5)

C、x%=(k-k%5) D、(x%=k)-( k%=5)

15定义如下变量B D int i=10;

下列循环的输出结果是: while(i>7)

{ i--;printf(“%d\\n”,n);} A.10 B. 9 C. 10 D.9

9 8 9 8

8 7 8 7

16. 以下各选项企图说明一种新的类型名,其中正确的是 ( ) 。C

A)typedef vl int; B)typedef v2=int;C)typedef int v3; D)typedef v4:int; 17. 给出以下定义:

char[x]=”abcdefg”;

char[y]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’}; 则正确的叙述为____。C

A. 数组x和数组y等价B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度D. 数组x的长度小于数组y的长度

18. 以下数组定义中不正确的是( ) 。D

A)int a[2][3]; B)int b[][3]={0,1,2,3};

C)int c[100][100]={0}; D)int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

19. 整型变量X和Y的值相等,且为非0值,则以下选项中,结果为0的表达式是( ) 。 C A)x||y B)x|y C)x&y D)x^y 20.下列叙述中,不正确的是____。A

A.在main函数体内定义的变量是全局变量

B.在同一c程序文件中,不同函数中可以使用同名变量 C.形参是局部变量,函数调用完即失去意义

D.若同一文件中全局变量与局部变量同名,则全局变量在局部变量的作用范围内不起作用

CBDDC AABCB BCADB CCDCA

二、阅读下列程序,写出执行结果(共4小题,每题6分,共24分) 1. #include 2. #include void main() void main() { {

int x=41,y=1; int x=1,a=0,b=0; if(x%3==0&&x%7==0) switch(x) {y+=x;printf(“y=%d\\n”,y);} {

Else case 0:b++; { y=x;printf(“y=%d”,y);} case 1:a++; } case 2:a++;b++;

结果: 41 }

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

结果:2 1

3:#include 4: void ss(char *s,char t) main() {

{ int x=1,y=0,a=0,b=0; while(*s)

switch(x) { if(*s==t)*s='A'; { case 1: s++;}} switch(y) main()

{ case 0:a++; break; { char str1[100]=\"abcddfefdbd\

case 1:b++; break; ss(str1,c); printf(\"%s\} }

case 2:a++; b++; break; 答:abcAAfefAbA case 3:a++; b++; }

printf(\"a=%d,b=%dn\} 2 1

三、程序设计题(每题12分,共36分) 【题目1:】判断一个一维数组是否为有序(结果呈现:递增有序、递减有序和无序)。

/*有序数组就是 递增或递减的数组 */ #include int a[1000]; int main() { int i,n,f,ff;

printf(\"有几个元素?\\n\"); while( scanf(\"%d\ {

f = ff=1; for( i=0;iscanf(\"%d\ }

for( i=0;iif( a[i]ff = 0; }

if( a[i]>a[i+1] ) { f = 0; } }

if( f==1 ) printf(\"为升序序列\"); if( ff==1 ) printf(\"为降序序列\"); if( (f+ff) == 0 ) printf(\"为乱序列\"); } return 0; }

【题目2:】题目:编写一个程序求和: Sum=1-2+3-4+5-6+……+99-100

【题目3:】用户从键盘输入一个字符串(字符中不包含空格),当输入回车时认为输入结束,统计输入字符串中小写英文字母、大写英文字母、数字字符、其他字符的个数

#include \"stdio.h\" #include \"string.h\" void main() {

int i=0;//小写英文字母数量 int j=0;//大写英文字母数量 int k=0;//数字字符数量 int others=0;//其他字符数量 char temp;//接收字符。 int tempcounter;

printf(\"Please input the string\") ; for(tempcounter=0;;tempcounter++) { scanf(\"%c\ if(temp=='\\n') break; else {

if((temp>='a')&&(temp<='z')) { i=i+1; continue; }

if((temp>='A')&&(temp<='Z')) { j=j+1; continue; }

if((temp>='0')&&(temp<='9')) { k=k+1; continue; }

others=others+1; } }

printf(\"小写英文字母数量: %d\\n\printf(\"大写英文字母数量: %d\\n\printf(\"数字数量: %d\\n\printf(\"其他: %d\\n\}

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

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务