当前位置:文档之家› C语言模拟题目及答案

C语言模拟题目及答案

C语言模拟题目及答案
C语言模拟题目及答案

:题.选择一1.设float x,y;则以下不合法的赋值语句是______。

x*=y+8; x=y=0; ++x; y=(x%2)/10;

2. 设int k=017,g=111; 执行语句printf(%d,%x,k,g); 的输出是_____。

15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。

for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++);

4. 下面对数组的初始化,错误的是_____。

char s[5]=abc; char

s[5]={'a','b','c'};

char s[5]= ; char s[5];s=abc;

5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。

是无限循环 while循环执行10次

循环体语句一次也不执行循环体语句只执行一

6. 如果x为int型且为5,则执行if(x--<5) printf(%d,x);else

printf(%d,x++);后输出结果是______。

3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用

语句中,含有的实参个数是____。

3 4 5 有语法错

8. 在C语言的if语句中,可用作条件判断的表达式为_____。

算术表达式逻辑表达式

关系表达式任意表达式

9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。

n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。

调用该函数的主调函数的类型定义函数时指定或缺省

的函数类型调用函数时临时决定

return语句中表达式的类型答案:D A B D C

B A D

C B

二.填空题:

1.如果static int y=8;main(){ int y=3;printf(%d, y);}则输出结果是______。

2. 若int x=120,y=50; 执行printf(%d,(y,x));后输出结果是______。

3. 若int i, a[10]; 则执行语句 for(i=9;i>=0;i--) a[i]=i+5; 后,a[8]的

值为__________。

4. 在C语言中是没有输入输出语句的,而是通过提供库函数______和printf

来完成输入输出功能的。

5. 已知字母'A'的ASCII码值为65,ch1和ch2均为字符型变量,且

ch1='A',ch2='B',则printf(%c,%c,ch1,ch2-ch1+'A');语句输出结果是

_________。

6. 假定有以下变量定义: int k=7, x=12; 在空白处填入运算符使表达式的值

3:

。(x%=k)_____(k%=5)

7. 若i是整型变量,执行语句for(i=1;i<=7;i++) {if(i%2) printf(*); else

continue;printf(#);}后,输出结果是______。

8. 程序中定义宏#define w 3和#define L w+w,若定义int val;且命令val=L*L,

则变量val的值为____。

9. 表示“整数x的绝对值大于5”时,值为“真”的C语言表达式是(利用逻辑

运算符)

x>5____x<-5。

10. 请填空,完善如下语句:char a[___]=Hello;。

答案: 1.3 2.120 3.13 4.scanf 5.A,B 6.- 7.*#*#*#*# 8.15

9.11 10.6三.判断题:1.所有的变量在使用前都必须予以定义。

2. 设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1.5。

3. 在switch结构中,break语句可使流程立即跳出switch语句体。

4. 已定义int i; 则for(;i=1;)printf(*);中的循环体必执行无穷多次。

5.空语句是合法的C语句。

6. 以下程序段可以输出10个整数:for(i=0 ;i<=9; printf(%d\n,i+=2));

7.在main函数中定义的变量称为全局变量。

8. while语句的循环体中还可以包含for循环。

9. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是

由实参传给形参,再由形参传回实参。

10. 先要定义一个二维数组c[M][N]来存放字符串?楨慮、呜慩橮湩、?畤慣楴湯,

则。10和3的

合理取值应为N和M常量

T F F T T F F T F T答案: 4. 读程序,写结果。)指出程序

运行结果。1?湩汣摵?獜摴潩栮main(){ int x,a,b,c,d,e; char ch;

x=100; a=40; b=30; c=20; d=10; e=0; ch='a';

if (a

x+=1;

else if (c>d) ; else if (ch)

if (e)

x+=1; x+=x; if (x)

x*=2; else x-=x; printf(%d\n,x);}

400答案:

: . 整个程序运行结果是)2椣据畬敤尠瑳楤?屨main().

{ char ch='a'; int x=10; while (ch<'j') { printf(%c,,ch);

ch+=2; } do { x--; if (x%3==0) continue; printf(%d,,x); }

while (x>0); printf(\

);

}a,c,e,g,i,8,7,5,4,2,1答案:改错:5.

给定程序k:\m.c中函数 fun 的功能是:把在字符串s中出现的每个字符,紧

随其后重复出现一次,放在一个新串t中,t中字符按原字符串中逆排列。

例如:当s中的字符串为:???时,

则t中的字符串应为:?????屁。

注意:只能改动*found*下一行,不要改动main函数,不得增行或删行,也不得

更改程序!的结构***/答案/***** m.c

#include #include void fun (char s[], char t[])

{

int i, sl; sl=strlen(s);/***********found************/

for(i=0;i

t[2*i]=s[sl-i-1];/***********found***********/]=s[sl-i-1]; t[2*i+1 }/***********found***********/0'; \ t[2*i]='}main()

{ char s[100], t[100]; printf(\

Please enter string s:); scanf(%s, s); fun(s, t); printf(The

result is: %s\n, t);}编程:6.

在k:\有程序文件p1.c,程序功能是计算并输出1000以内所有能被47整除的正

整数之和。

其中函数calu的功能是:计算1000以内所有能被47整除的正整数之和,结果

通过return返回。请完成calu的函数体。

注意:主程序及其他函数都不许修改!调试完成后,至少要运行一次才会保留评

分依据!

#include stdio.h

int calu()

{

int i,s=0;for(i=1;i<1000;i++)if(iG==0)s+=i;return s;}

/*Caution: you can only change codes in function above*/

main()

{

printf(

esult: %d\n,calu());

{ int s[8];

FILE *fp1, *fp2;

int i;

if ((fp1=fopen(k:\pin1.dat,

))==NULL)

{ printf(Open file error,Please contact your teacher);

exit(0);

};

if ((fp2=fopen(k:\you.dat,w))==NULL)

{ printf(!Create file error,Please tell your teacher at once!);

exit(0);

};

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

{ fscanf(fp1,%d,&s[i]);

fprintf(fp2,%d\n,s[i]-calu());

}

fclose(fp2);

fclose(fp1);

}

}

7. 在k:\有程序文件p2.c,程序功能是按显示出的a字符串中的10个字母,照着输入各字母到b数组,亦即“练习英文打字”。

其中函数count的功能是:与a数组中各元素对照,统计出b数组中对应字母共有多少是正确的,赋给r,多少是错误的,赋给e,再算出正确率,赋给rr。请完成count的函数体。

注意:主程序及其他函数都不许修改!调试完成后,至少要运行一次才会保留评分依据!

其中函数tra的功能是:由x数组中的各简谱字符,对应a中元素,向y数组中写入音名字符串。请完成tra的函数体。提示:'1'的ASCII码值为49。

注意:主程序及其他函数都不许修改!调试完成后,至少要运行一次才会保留评分依据!

/***** p2.c 答案*********/

椣据畬敤尠瑳楤?屨

char a[8]=CDEFGAB;

char x[80],y[80];

void tra()

{int i;

for(i=0;x[i]!='\0';i++)

y[i]=a[x[i]-49];

y[i]='\0';

}

/*Caution: you can only change codes in function above*/

main()

{ int i;

FILE *fp1, *fp2;

printf(\

Input:);

scanf(%s,x);

tra();

printf(Result:%s\n,y);

if ((fp1=fopen(k:\pin2.dat,

))==NULL)

{ printf(Open file error,Please contact your teacher);

exit(0);

};

if ((fp2=fopen(k:\my.dat,w))==NULL)

{ printf(!Create file error,Please tell your teacher at once!); exit(0);

};

fscanf(fp1,%s,x);

tra();

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

fprintf(fp2,%c\n,y[i]);

fclose(fp2);

fclose(fp1);

}

相关主题
文本预览
相关文档 最新文档