2023年c语言测试试题及答案 c语言测试题目及答案文档精选

格式:DOC 上传日期:2023-04-25 22:40:29
2023年c语言测试试题及答案 c语言测试题目及答案文档精选
时间:2023-04-25 22:40:29     小编:zdfb

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧

c语言测试试题及答案 c语言测试题目及答案文档篇一

一个爱书的人,他必定不致于缺少一个忠实的朋友,一个良好的老师,一个可爱的伴侣,一个温情的安慰者。以下是小编为大家搜索整理的c语言测试试题及答案,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

1.

#include "stdio.h"

main()

{char c;

c=getchar();

while(c!='?') {putchar(c);c=getchar(); }

}

如果从键盘输入abcde?fgh(回车)

运行结果为:abcde

2.

#include

main()

{ char c;

while((c=getchar())!=’$’)

{ if(‘a’<=c&&c<=‘z’)putchar(c);

else if(‘a’<=c&&c<=‘z’)putchar(c-32);}

}

当输入为ab*ab%cd#cd$时,运行结果为:ababcdcd

3.

#include

main()

{ int x, y =0;

for(x=1;x<=10;x++)

{ if(y>=10)

break;

y=y+x;

}

printf(“%d %d”,y,x);

}

运行结果为:10 5

详见教材p120for语句

详见教材p126~128break,continue语句

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

{

}

(1) 先求解表达式1

(2) 求解表达式2,若其值为真,执行循环体,然后执行 (3). 若为假,则结束循环,转到(5)

(3) 求解表达式3

(4) 转回上面 (2)继续执行

(5) 循环结束,执行for语句下面的一个语句

break ,跳出循环体;continue,结束本次循环(第i次循环),继续执行下一次循环(第i+1次循环)

此题 表达式1为x=1,表达式2(循环条件)为x<=10,表达式3为x++

初值x为1,y为0,循环条件(即表达式2)x<=10成立,进入循环体

第1次循环

执行if语句。0小于10,if语句的条件表达式不成立,不执行break;

执行y=y+x; y=0+1=1

转向表达式3,执行x++,x=x+1=1+1=2。循环条件x<=10成立,进入第2次循环

第2次循环

执行if语句。1小于10,if语句的条件表达式不成立,不执行break;

执行y=y+x; y=1+2=3

转向表达式3,执行x++,x=x+1=2+1=3。循环条件x<=10成立,进入第3次循环

第3次循环

执行if语句。3小于10,if语句的条件表达式不成立,不执行break;

执行y=y+x; y=3+3=6

转向表达式3,执行x++,x=x+1=3+1=4。循环条件x<=10成立,进入第4次循环

第4次循环

执行if语句。6小于10,if语句的条件表达式不成立,不执行break;

执行y=y+x; y=6+4=10

转向表达式3,执行x++,x=x+1=4+1=5。循环条件x<=10成立,进入第5次循环

第5次循环

执行if语句。10等于10,if语句的条件表达式成立,执行break,跳出循环。

从break跳出至for语句的下一条语句。执行printf(“%d %d”,y,x);

输出当前的y与x.结果为10 5

4.

#include

main( )

{char ch;

ch=getchar( );

switch(ch)

{case‘a’ : printf(“%c”,’a’);

case‘b’ : printf(“%c”,’b’); break;

default: printf(“%s\n”,”other”);

} }

当从键盘输入字母a时,运行结果为:ab

详见教材p103,switch语句

switch(表达式)

{ case常量1 :语句1

case常量2 :语句2

┇┇ ┇

case常量n :语句n

default :语句n+1

}

其中表达式,常量1,…,常量n都为整型或字符型

case相当于给出执行程序的入口和起始位置,若找到匹配的常量,则从此处开始往下执行程序,不再匹配常量,直至遇到break或switch结束

本题过程:

首先从键盘接收一个字符’a’并将其放在变量ch中。

执行switch语句。switch后面的条件表达式为ch,因此表达式的值即为字符’a’. 用字符’a’依次与下面的 case中的常量匹配。

与第1个case后的常量匹配,则从其后的语句开始往下执行程序(在执行过程中不再进行匹配。)因此先执行printf(“%c”,’a’),屏幕上输出a;再往下继续执行printf(“%c”,’b’),屏幕上输出b;再继续执行break, 此时跳出switch语句。

5.

#include

main( )

{ int a=1,b=0;

scanf(“%d”,&a);

switch(a)

{case 1: b=1;break;

case 2: b=2;break;

default : b=10;}

printf("%d ", b);

}

若键盘输入5,运行结果为:10

本题过程:

首先用scanf函数为变量a赋值为5。

执行switch语句。switch后面的条件表达式为a,因此表达式的值即为5. 用5依次与下面 case中的常量匹配。没有找到匹配的常量,因此两个case后的语句都不执行。执行default后面的语句b=10;将10赋给变量b。

输出变量b,结果为10

6.

#include

main()_

{ char grade=’c’;

switch(grade)

{

case ‘a’: printf(“90-100\n”);

case ‘b’: printf(“80-90\n”);

case ‘c’: printf(“70-80\n”);

case ‘d’: printf(“60-70\n”); break;

case ‘e’: printf(“<60\n”);

default : printf(“error!\n”);

}

}

运行结果为:

70-80

60-70

本题过程:

首先从键盘接收一个字符’c’并将其放在变量grade中。

执行switch语句。switch后面的条件表达式为grade,因此表达式的`值即为字符’c’. 用字符’c’依次与下面的 case中的常量匹配。

与第3个case后的常量匹配,则从其后的语句开始往下执行程序(在执行过程中不再进行匹配。)因此先执行printf(“70-80\n”);,屏幕上输出70-80,并换行;再往下继续执行printf(“60-70\n”),屏幕上输出60-70,并换行;再继续执行break, 此时跳出switch语句。

7.

#include

main()

{ int y=9;

for(;y>0;y- -)

if(y%3==0)

{ printf(%d”,- -y);

}

}

运行结果为:

852

详见教材p53,自增自减符号

此题 表达式1被省略,表达式2(循环条件)为y>0,表达式3为y--

初值y为9,循环条件(即表达式2)y>0成立,进入循环体

第1次循环

执行if语句。9%3==0,if语句的条件表达式成立,执行printf(%d”,- -y),即y先自减1变为8,然后在输出,因此屏幕上输出8

转向表达式3,执行y--,y=y-1=8-1=7。循环条件y>0成立,进入第2次循环

第2次循环

执行if语句。7%3不为0,if语句的条件表达式不成立,不执行printf(%d”,- -y)

转向表达式3,执行y--,y=y-1=7-1=6。循环条件y>0成立,进入第3次循环

第3次循环

执行if语句。6%3==0,if语句的条件表达式成立,执行printf(%d”,- -y),即y先自减1变为5,然后在输出,因此屏幕上输出5

转向表达式3,执行y--,y=y-1=5-1=4。循环条件y>0成立,进入第4次循环

第4次循环

执行if语句。4%3不为0,if语句的条件表达式不成立,不执行printf(%d”,- -y)

转向表达式3,执行y--,y=4-1=3。循环条件y>0成立,进入第5次循环

第5次循环

执行if语句。3%3==0,if语句的条件表达式成立,执行printf(%d”,- -y),即y先自减1变为2,然后在输出,因此屏幕上输出2

转向表达式3,执行y--,y=y-1=2-1=1。循环条件y>0成立,进入第5次循环

第6次循环

执行if语句。1%3不为0,if语句的条件表达式不成立,不执行printf(%d”,- -y)

转向表达式3,执行y--,y=1-1=0。循环条件y>0不成立,循环结束。

8.

#include

main()

{ int i,sum=0;i=1;

do{ sum=sum+i; i++; }while(i<=10);

printf(“%d”,sum);

}

运行结果为: 55

9.

#include

#define n 4

main()

{ int i;

int x1=1,x2=2;

printf("\n");

for(i=1;i<=n;i++)

{ printf("%4d%4d",x1,x2);

if(i%2==0)

printf("\n");

x1=x1+x2;

x2=x2+x1;

}

}

运行结果为:

1 2 3 5

8 132134

此题 首先为整型变量赋初值x1=1,x2=2

表达式1为i=1,表达式2(循环条件)为i<=n即i<=4,表达式3为i++

循环变量初值i为1,循环条件(即表达式2)i<=4成立,进入第1次循环

第1次循环

执行printf("%4d%4d",x1,x2);因此屏幕上输出12

执行if语句。1%2不为0,if语句的条件表达式不成立,不执行printf("\n");

执行x1=x1+x2=1+2=3;此时x1中的值已变为3

执行x2=x2+x1=2+3=5。

转向表达式3,执行i++,i为2。循环条件i<=4成立,进入第2次循环

第2次循环

执行printf("%4d%4d",x1,x2);因此屏幕上输出35

执行if语句。2%2==0,if语句的条件表达式成立,执行printf("\n");换行

执行x1=x1+x2=3+5=8;此时x1中的值已变为8

执行x2=x2+x1=5+8=13。

转向表达式3,执行i++,i为3。循环条件i<=4成立,进入第3次循环

第3次循环

执行printf("%4d%4d",x1,x2);因此屏幕上输出813

执行if语句。3%2不为0,if语句的条件表达式不成立,不执行printf("\n");

执行x1=x1+x2=8+13=21;此时x1中的值已变为21

执行x2=x2+x1=21+13=34。

转向表达式3,执行i++,i为4。循环条件i<=4成立,进入第4次循环

第2次循环

执行printf("%4d%4d",x1,x2);因此屏幕上输出2134

执行if语句。4%2==0,if语句的条件表达式成立,执行printf("\n");换行

执行x1=x1+x2=21+34=55;此时x1中的值已变为55

执行x2=x2+x1=34+55=89。

转向表达式3,执行i++,i为5。循环条件i<=4不成立,结束循环

10

#include

main( )

{intx, y;

for(x=30, y=0; x>=10, y<10; x--, y++)

x/=2, y+=2;

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

}

运行结果为:

x=0,y=1211.

#include

#define n 4

main( )

{ inti,j;

for(i=1;i<=n;i++)

{ for(j=1;jprintf(" ");

printf("*");

printf("\n");

}}

运行结果为:

*

*

*

*

详见教材p41符号常量

用宏处理指令定义符号常量n为4,在编译过程中,遇到n即视为整数4。

外层for循环,表达式1为i=1,表达式2(循环条件)为i<=n,表达式3为 i++

内层for循环,表达式1为j=1,表达式2(循环条件)为j首先计算外层循环的表达式1,i为1,使得循环条件i<=4成立,进入外层for循环体

外层for循环第1次此时i为1

内层循环j=1,使得循环条件j执行printf("*");

执行printf("\n");换行

至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为2. 使得循环条件i<=4

成立,再次进入外层for循环体

外层for循环第2次 此时i为2

内层循环j=1,使得循环条件j第1次执行内层循环体printf(" ");

执行内层循环表达式3,j++为2,j执行printf("*");

执行printf("\n");换行

至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为3. 使得循环条件i<=4

成立,进入外层for循环体

外层for循环第3次 此时i为3

内层循环j=1,使得循环条件j第1次执行内层循环体printf(" ");

执行内层循环表达式3,j++为2,j第2次执行内层循环体printf(" ");

执行内层循环表达式3,j++为3,j执行printf("*");

执行printf("\n");换行

至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为4. 使得循环条件i<=4

成立,进入外层for循环体

外层for循环第4次 此时i为4

内层循环j=1,使得循环条件j第1次执行内层循环体printf(" ");

执行内层循环表达式3,j++为2,j第2次执行内层循环体printf(" ");

执行内层循环表达式3,j++为3,j第3次执行内层循环体printf(" ");

执行内层循环表达式3,j++为4,j执行printf("*");

执行printf("\n");换行

至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为5. 使得循环条件i<=4

不成立,跳出外层for循环体

s("content_relate");

【c语言测试试题及答案】相关文章:

1.

常用c语言测试题及答案

2.

c语言笔试试题及答案

3.

c语言练习测试试题

4.

c语言自我检测试题

5.

c语言自测试题

6.

c语言考试模拟测试题

7.

计算机二级c语言测试题及答案解析

8.

计算机二级c语言预测试题及答案

9.

c语言经典例题及答案

【本文地址:http://www.xuefen.com.cn/zuowen/2709857.html】

全文阅读已结束,如果需要下载本文请点击

下载此文档