C语言上机考试试题3

2026/4/23 13:49:54

C语言上机考试试题-3

2008.1.9

一、选择题 ( 评分标准 20 分,每小题2分 )

1. 若变量已正确定义并赋值,表达式________不符合C语言语法。 (A) a*b/c; (B)3.14%2 (C)2, b (D)a/b/c 2. ________是不正确的字符常量。 (A)'\\n' (B)'1' (C)”a” (D)'\\101' 3. 在C程序中,用________表示逻辑值“真”。

(A)1 (B)非 0 的数 (C)非 1 的数 (D)大于 0 的数 4. ________把x、y定义成float类型变量,并赋同一初值3.14。

(A) float x, y=3.14; (B)float x, y=2*3.14; (C)float x=3.14, y=x=3.14; (D)float x=y=3.14; 5. 若变量已正确定义,表达式________的值不是2。 (A)2&3 (B)1<<1 (C)a==2 (D)1^3

6. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和________等价。 (A)k=(a>b)?1:0; (B)k=a>b; (C)k=a<=b; (D)a<=b ? 0 : 1;

7. 设变量定义为“int a, b;”,执行语句scanf(“a=%d, b=%d”,&a, &b);时,输入________,则a和b的值都是10。

(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=10

8. 在C程序中,若对函数类型未加说明,则函数的隐含类型为________。 (A)int (B)double (C)void (D)char 9. 表达式 strlen(”hello”) 的值是________。 (A)4 (B)5 (C)6 (D)7

10. 设变量定义为“int a[4];”,则表达式________不符合C语言语法。 (A)*a (B)a[0] (C)a (D)a++

套数号 3

答案 1.B 2.C 3.B 4.C 5.C 6.C 7.D 8.A 9.B 10.D 二、判断题 ( 评分标准20分,每小题2分)

1. 一个C程序的执行是从本程序文件的第一个函数开始,到main函数结束。 2. 在C程序中,用整数0表示逻辑值“假”。

1

3. C语言中 while 和 do-while 循环的主要区别是do-while的循环体至少无条件执行一次。 4. 设变量定义为char s[]=“hello”,则数组s中有6个元素。 5. 对以下语句的正确理解是将5 个初值依次赋给 a[6] 到a[10]。

int a[10] = {6, 7, 8, 9, 10}; 6. 若变量已正确定义,表达式x=y=1符合C语言语法。 7. 表达式!(x>0‖y>0)等价于!(x>0&&!(y>0)。

8. C语言规定简单变量作实参时,它与对应形参之间的数据传递方式是实参和形参间来回传递。 9. 在C源程序中将语句“if(x==5) y++;”误写成“if(x=5) y++;”,将导致编译错误。 10. fscanf函数的正确调用格式为:fscanf (fp, 格式字符串,输出表列); 。

套数号 2 答案 1. F 2. T 3. T 4. T 5. F 6. T 7. T 8. F 9. F 10. T 三、填空题 ( 评分标准10分,每小题2分)

1. 标识符是用户自定义的一种________,通常用来表示程序中需要辨认的对象。

2. C语言的语句主要分为:变量定义语句、赋值语句、函数调用语句、表达式语句、________语句、复合语句、空语句和其他语句等8类。

3. C程序是由函数构成的。其中有并且只能有________个主函数。 4. 在内存中存储“A”要占用________个字节。

5. 若定义:int a=88,*b=&a;,则printf(\,*b);的输出结果为 。 第2套 (1) 字符序列 (2) 流程控制 (3) 1 (4) 2 (5) 88 四、程序改错题(评分标准20分,每小题5分)

1. 假设该程序输入10个数字:1 2 3 4 5 6 7 8 9 10,则程序运行结果: 1--3--5--7--9-- 。 #include void main() { int i; int a[10];

for(i=0;i<10;i++) scanf(\ for(i=0;i<10;i++)

{ if (a[i]%2=0) /*$*/ continue; else

printf(\ } }

2

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句if (a[i]%2=0) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:该程序输入10个数字:1 2 3 4 5 6 7 8 9 10。程序运行后输出结果为: 1--3--5--7--9-- 答案:if(a[i]%2==0) 运行样例1行

运行样例1:1 3 2 6 10 20 8 12 5 3 运行结果:1--3--5--3--

2. 以下程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。 #include void main()

{ int i, x, y=1; scanf(\ for(i=2; i>x/2; i++) /*$1*/ if(x%i==0) { y=0; break; } printf(\}

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句for(i=2; i>x/2; i++) 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。 答案:for(i=2; i<=x/2; i++) 运行样例1行

运行样例1:7 运行结果:1

3. 假设该程序输入两个数据:2 3,程序运行结果为:2。 #include \int *fun(int *a,int *b) { int m; m=*a; m+=*b-3; return(m); /*$*/ }

void main() { int x,y; int *a=&x,*b=&y; int *k; scanf(\

3

}

k=fun(a,b);

printf(\

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句return(m); 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:假设该程序输入两个数据:2 3,则程序运行结果为:2。 答案:return(&m); 运行样例1行

运行样例1:5 4 运行结果:6

4. 本程序功能:实现对字符数组的倒序。输入字符串:hg25DA, 输出结果: str now is AD52gh #include #include #include int main()

{ char str[50] ;

int length = strlen(str); char * p1 = str; char * p2; scanf(\ length = strlen(str); p2 = str + length; /*$*/ while(p1 < p2) { char c = *p1; *p1 = *p2; *p2 = c; ++p1; --p2; }

printf(\:%s\\n\ return 0; }

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句p2 = str + length; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:实现字符串的逆转功能。例如:该程序输入:hg25DA,程序输出结果: str now is:AD52gh 答案: p2 = str + length – 1; 运行样例1行

运行样例1:SH87ch 运行结果:str now is:hc78HS

4


C语言上机考试试题3.doc 将本文的Word文档下载到电脑
搜索更多关于: C语言上机考试试题3 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219