C语言试卷

发布 2021-04-23 12:04:28 阅读 9127

c语言等级考试试卷(2024年1月)参***(解题提示)

程序中的红字注释原题目中无,供参考)

一、选择题(40题,每题1.5分,共60分)

1】c语言中的简单数据类型包括 d 。

a)整型、实型、逻辑型b)整型、实型、字符型、逻辑型。

c)整型、字符型、逻辑型d)整型、实型、字符型。

答案:d)整型、实型、字符型。

c2】以下不属于c语言关键字的是 c 。

a)default b) unsigned c) real d) typedef

答案:c) real

3】c语言中合法的字符常量是 a 。

ab)”hello!” c)’hello’ d)a

答案:a)’\

4】以下四组中都能正确作为c语言程序标识符的是组。

a)printfb)sort_1

rowstring_to_float

ifpic) powd) book->name

1_abca#b

答案:b5】c语言的一个源程序中定义的外部变量的作用域为 。

a) 本文件的全部范围b)本程序的全部范围。

c)本函数的全部范围d)从定义该变量的位置开始至本文件结束

答案:d6】以下程序运行结果是 。

main()

int x=1,y=2,z;

z=x>y?++x:++y;

printf("%d,%d,%d",x,y,z);

a) 1,2,3b) 1,3,3

c) 2,3,3d) 2,2,3

答案:b) 1,3,3

7】若float型数据占4个字节,int型数据占2个字节,char型数据点1个字节,以下程序运行结果是 。

main()

struct st_type

union u_type

t;printf("%d",sizeof(t));

a)25 b)12 c)3 d) 22

答案:d) 22

8】在c语言中系统默认的文件类型有 。

a)类型文件和文本文件 b)二进制文件和类型文件。

c)文本文件和二进制文件 d)文本文件和记录文件。

答案:c)文本文件和二进制文件。

9】若已定义int a=5;对以下(1),(2)两个语句的正确解释是 。

(1)int *p=&a; (2)*p=a;

a) 语句(1)和(2)中的*p含义相同,都表示给指针变量赋值。

b) 语句(1)和(2)的执行结果都是把变量a的地址赋给指针变量p

c) 语句(1)是在对p进行定义的同时进行初始化,使p指向a;

语句(2)是将变量a 的值赋给指针变量p

d) 语句(1)是在对p进行定义的同时,使p指向a;

语句(2)是将变量a的值赋给指针变量所指的变量。

答案:d10】若有定义int(*p)[4],则标识符p是一个 。

a) 指向整型变量的指针变量。

b) 指向函数的指针变量。

c) 指向有四个整型元素的一维数组的指针变量。

d) 指针数组名,有四个元素,每个元素均为一个指向整型变量的指针。

答案:c11】以下程序的输出结果是 。

#include <>

float fun(int n)

static float f=1.0;

f*=n;return f;

main()

int i;

float s;

for (i=1;i<=5;i++)s=fun(i);

printf("%8.2f",s);

a)120.00 b) 24.00c) 5.00d) 720.00

答案:a说明】本题实际上是一个求5!的程序。

12】以下程序的输出结果是。

结果: 5,2,3

13】以下对c语言中字符数组的错误描述是 。

a) 字符数组可以存放字符串。

b) 字符数组中的字符串可以整个输入、输出。

c) 可以在赋值语句中通过赋值运算符=对字符数组整体赋值。

d) 字符数组中字符串的结束标志是‘\0’

答案:c14】以下函数的功能对应于 。

int fun(char *s,char *t)

while (*s)&&t)&&t==*s)} 在s和t均未结束且相比较的字符相同时继续循环*/

return(*s-*t如果两个字符相同,返回值为0,否则不为0*/

a)strlen(s)+strlen(t) b)strcmp(s,t)

c)strcpy(s,td)strcat(s,t)

答案:b注意】典型结构:如果s是一个字符串,则下列循环结构从s 的第一个字符开始,依次取出下一个字符,直到字符串结束(即*s等于’\0’为止)。

每次循环中,*s表示这一轮循环中取出的字符。(技巧:用*s作循环条件,当循环到字符串结束处时自动结束循环)

while(*s)

s++}15】已知函数isaplha(ch)的功能是判断自变量ch是否为字母,若是,该函数值为1,否则为0。以下程序的输出结果是 。

#include <>

#include <>

void fun(char str[ ]

int i,j;

for (i=0,j=0;str[i];i++)

if (!isalpha(str[i]))str[j++]str[i注意此处删去不合要求字符的技巧*/

str[j]='0';

main()

char str[100]="current date is sat 12-30-2000.";

clrscr();

fun(str);

printf("%s",str);

a) 12-30-2000b)12302000

c)current date is satd) current date is sat 12-30-2000.

答案:a注意】

1、 同上题while(*s)一样,可以用s[i] 作循环条件,当循环到字符串结束处时自动结束循环。

2、 典型结构:如果s是字符串,则下列结构可以将s中不符合条件的字符删去。

int i,j;

for (i=0,j=0;str[i];i++)

if (条件) str[j++]str[i];

str[j]='0

思考:如果上题中去掉if (!isalpha(str[i]))中的!号,结果是什么?(currentdateissat)

如果将isalpha()函数改为islower、isupper、isdigit,结果是什么? (教材p314-315)

urrentdateisat、cs、12302000)

16】若有定义char *p,ch;则不能正确赋值的语句组是 。

a)p=&chb)p=(char *)malloc(1);

scanf(“%c”,pp=getchar();

c)*p=getchard)p=&ch;

p=&chp=getchar();

答案: c (指针p未指向任何变量就赋值)

17】若有以下定义和语句,且0int i=2,*p,a[ ]

p=a;a)*(a+i) b)a[p-a] c)p+i d)*(a[i])

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 语言的参数传递机制包括传...