C语言试卷

发布 2021-04-23 12:41:28 阅读 6664

《c 语言模拟考题》

一、选择题。

1、 c语言中, char、 int、 float和double类型的数据分别占用【1】个字节。

【1】 a b c

2、若执行printf("%d", strlen("a\\\x41"))语句其输出结果是 【2】 。

2】 a) 8 b) 7 c) 6 d) 4

3、若int a, b, c; 则表达式(a=2, b=5, b++,a+b)的值是 【3】 。

3】 a) 7 b) 8 c) 6 d) 2

4、以下正确的叙述是 【4】 。

4】 a) 在c语言中,main函数必须位于文件的开头。

b) c语言每行中只能写一条语句。

c) c语言本身没有输入、输出语句。

d) 对一个c语言进行编译预处理时,可检查宏定义的语法错误。

5、若执行以下程序段:

int a=1, b=2, m=2, n=2;

m=a>b)&&n;

则n的值是 【5】 。

5】 a) 1 b) 2 c) 3 d) 4

注:类似的如以下题:

int a=1, b=1, c=0;

if (+a ||b) c=a+b;

printf("a=%d b=%d c=%d", a,b,c);

6、已知各变量的类型如下:

int i=8, a, b;

double x=1.42, y=5.2;

则以下符合c语言语法的表达式是 【6】 。

6】 a) a+=a-=(b=4)*(a=3) b) a=a*3=2

c) x%(-3) d) y=float(i)

7、以下程序的运行结果是 【7】 。

#include <>

main()

int m=5;

if(m++>5) printf("%d", m);

else printf("%d", m++)

7】 a) 7 b) 6 c) 5 d) 4

8、以下程序的运行结果是 【8】 。

#include <>

main()

char c='y';

if(c>='a'&&c<='u') c+=5;

else if(c>='v'&&c<='z') c-=21;

putchar(c);

8】 a) 'y' b) 'd' c) y d) d

9、若定义int i; 则以下循环语句的循环执行次数是 【9】 。

for(i=2; i==0;) printf("%d", i--)

9】 a) 无限次 b) 0次 c) 1次 d) 2次。

10、以下程序的运行结果是 【10】 。

#include <>

main()

int a[4][3]=;

int *p, j;

p=a[0];

printf("%2d,%2d,%2d,%2d", p, *a+3)+2), p[2], p+7));

10】 a) 4, 4, 9, 8 b) 程序出错 c) 1, 10, 12, 8 d) 1, 9, 2, 7

11、以下程序的输出结果是 【11】 。

#include <>

main()

int i=0;

while(1)

printf("");

11】 a) *b) *c) *d) *

12、若定义a[2]=;则a数组中行的大小是 【12】 。

12】 a) 2 b) 3 c) 4 d) 无确定值。

13、要使以下程序中t的输出结果是4,则输入a和b应满足的条件是 【13】 。

#include <>

main()

int s, t, a, b;

scanf("%d%d", a, &b);

s=t=1;

if(a>0) s+=1;

if(a>b) t=s+t;

elseif(a==b) t=5;

else t=2*s;

printf("%d", t);

13】 a) a>0并且a0并且a>b d) a<0并且a>b'

14、以下程序的运行结果是 【14】 。

#include <>

void f(int b)

int i=0;

while(b[i]<=10)

main()

int i, a=

f(a+1);

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

printf("%d ",a[i]);

从第一个元素起到大于10为止,各加2)

14】 a) 2 7 12 11 13 9 b) 1 7 12 11 13 7

c) 1 7 12 11 13 9 d) 1 7 12 9 13 7

15、以下各语句或语句组中,正确的操作是 【15】 。

15】 a) char s[5]="abcde" b) char *s; gets(s);

c) char *s; s="abcde"; d) char s[5]; scanf("%s", s);

16、以下c语言中,对函数不正确的描述是 【16】 。

16】 a) 当用数组名作形参时,形参数组改变可使实参数组随之改变。

b) 允许函数递归调用。

c) 函数形参的作用范围只是局限于所定义的函数内。

d) 被调函数必须在主调函数之前。

17、在循环语句的循环体中,continue语句的作用是 【17】 。

17】 a) 立即终止整个循环。

b) 继续执行continue语句之后的循环体各句。

c) 结束本次循环。

d) 结束本次循环并跳出循环。

18、以下程序的运行结果是 【18】 。

#include <>

main()

char *s="xcbc3abcd";

int a, b, c, d;

a=b=c=d=0;

for(; s; s++)

switch(*s)

printf("a=%d,b=%d,c=%d,d=%d", a, b, c, d);

a='a'的个数、b='b','c'的个数、c='c'的个数、d=非'a'的个数)

18】 a) a=1,b=5,c=3,d=8 b) a=1,b=2,c=3,d=3

c) a=9,b=5,c=3,d=8 d) a=0,b=2,c=3,d=3

19、若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是【19】 。

fseek(fp, 0, seek_end)

i=ftell(fp);

printf("i=%ld", i);

19】 a) -1 b) fp所指文件的长度,以字节为单位。

c) 0 d) 2

20、以下程序的输出结果是 【20】 。

#include <>

int i;

main()

int i=1, j=2;

fun(fun(i, &j), j);

fun(int a, int *b)

static int m=2;

i+=m+a;

m=++b);

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

return (m);

20】 a) 3,3 b) 3,3 c) 3,3 d) 3,3

21、定义compare(char *s1, char *s2)函数,以实现比较两个字符串大小的功能。以下程序运行结果为-32,选择正确答案填空。

#include <>

main()

printf("%d", compare("abcd", abc");

compare(char *s1, char *s2)

while(*s1&&*s2&& 21】 )

return *s1-*s2;

21】 a) *s1!=*s2 b) *s1==*s2 c) *s1=*s2 d) s1!=s2

22、若有以下程序:

#include <>

main(int argc, char *ar**)

while(--argc)

printf("%s", ar**[argc]);

printf("");

逆序参数回送)

该程序经编译和连接后生成可执行文件现在dos提示符下键入s aa bb cc回车,则输出结果是【22】 。

22】 a) aabbcc b) aabbccs c) ccbbaa d) ccbbaas

23、若有定义typedef char string[255]; string s; 则s是 【23】 。

23】 a) 字符指针数组变量 b) 字符数组变量。

c) 字符变量 d) 字符指针变量。

24、以下程序的运行结果是 【24】 。

#include <>

void fun(char *s);

main()

static char str=123";

fun(str);

void fun(char *s)

if(*s)

24】 a) 3 b) 123 c) 1 d) 3

25、判断以下程序段的结果是 【25】 。

#define a 3

#define b(a) (a+1)*a)

int x;

x=3*(a+b(7));

25】 a) 程序错误,不允许嵌套宏定义 b) x=93

c) 语法错误,宏体中不允许带括号 d) x=21

26、以下程序的运行结果是 【26】 。

c语言试卷c

a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...

C语言试卷A

青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...

C语言试卷

一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...