C_12练习题答案

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

  1. C 风格的注释,也称块注释或多行注释,以()开始,以()结束。

A./* 和 */
B. {和}
C.[ 和]
D.(和)

A

2.以下名字,可以作为C语言标识符的是()。

A. num#1
B. 2019Flag
C. integer
D. a.3

C

  1. 以下说法错误的是()。

A.一个C语言源文件(.c文件)可以不包含main函数
B.一个C语言工程(Project)可包含多个源文件(.c文件),即使这些源文件都编译成功,这个C工程也有可能链接失败
C.C语言头文件(.h文件)和源文件(.e文件)都可以进行编译
D.在一个可以正确执行的C语言程序中,一个C语言函数的声明(原型)可以出现任意多次

C

4,以下选项中,能用做数据常量的是()

A.OxABC
B.0118
C. 1.5el.5
D.115H

A

5,下列能正确表示a>10或a<0的关系表达式是()。

A. a>=10 or a<=0
B. a<=10 Il a>=0
C. a>=10 Il a<=0
D.a>=10 && a<=0)

C

6.设有说明:char w; int x; foat y; double z;则表达式wx+z-y值的数据类型为()

A. float
B. char
C. int
D. double

D

7.以下能正确地定义整型变量a,b和e并为它们赋初值5的语句是()

A. int a = b = c = 5;
B. int a, b, c = 5;
C. a=5, b=5,c=5;
D. int a=5,b=5,c=5;

D

8.假设字符变量ch中存放有小写英文字母,将其转换为相应的大写英文字母的表达式是()。

A. ch=ch-‘a’+‘A’
B. ch = ch+32
C. tolower(ch)
D. ch-=‘a’+‘A’

A

9,若想通过a&b来使a的二进制码中的首尾两位为原来的值,而其余为0,则b应为(量a,b均占一个字节)。

A.01111110
B. 10000001
C. 视a值而定
D.无法办到

B

10.C语言的程序一行写不下时,可以()

A.用逗号换行
B.用分号换行
C.在任意一空格处换行NCE
D.用回车符换行

C

  1. 在嵌套使用if语句时,C语言规定else总是()

A.和之前与其具有相同缩进位置的if配对
B.和之前与其最近的if配对
C.和之前与其最近的且不带else的i配对
D. 和之前的第一个if配对日

C

  1. 以下程序的输出结果是()

#include<stdio.h>
اint main(){
int a, b;
for(a=1, b=l; a<=100; a++)
{ if(b>=10) break;
if(b%3==1)
{ b+=3;
continue;
}
}
printf(“%d”,a);
return 0;
A.1
B.6
C.5
D.4

D

  1. 以下描述错误的是()

A.字符串数组中可以存放ASCII字符集中的任何字符
B.字符串数组的字符可以整体输入输出
C.字符串数组中只能存放键盘上可以找到的字符
D.不可以用关系运算符对数组中的字符串进行比较

C

14.int a][3]=(1,2,3,4,5,6);语句后, a[1][0]的值是()

A.4
B.1
C.2
D.5

A

15.下面的程序段将输出()。
char s[10] = “abed”;
printf(“%d\n”, sizeof(s));

A.4
B.5
C. 10
D. 11

C

16.C语言中静态变量和外部变量的初始化是在()阶段完成的。

A.程序执行过程中
B.编译
C.运行
D.程序外部

B

17.下列叙述中正确的是()

A.函数的定义不能嵌套,但函数调用可以嵌套
B.函数的定义可以嵌套,但函数调用不能嵌套
C.函数的定义和调用都不能嵌套
D.函数的定义和调用都可以嵌套

A

18,存在定义int a[10], x, *pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的()。

A.x=pa;
B.x=
(a+1);
C.x=*(pa+1);
D.x=a[1];

A

19.C语言的编译系统对宏命令的处理()

A.在程序运行时进行的
B.在对源程序中其他语句正式编译之前进行的
C.在程序连接时进行的
D.和C程序中的其他语句同时进行编译的

B

20.有如下定义:
struct Student{
char name[10];
int age;
char gender;
}std[3], *p=std;
则以下各输入语句中错误的是:

A. scanf(“%d”,&(*p).age);
B. scanf(“%c”,&std[0].gender);
C.scanf(“%c”,&(p->gender));
D. scanf(“%s”,&std.name);

D

二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。)
1________

#include <stdio.h>

void main() {
   
    int num = 0;
    
    while (num <= 6) {
   
        num++;
        
        if (num % 3 == 0) {
   
            continue;
        }
        
        printf("%d#", num);
    }
}

1#2#4#5#7#

2_____

#include <stdio.h>

void cal(int *pscore) {
   
    static int bonus = 1;
    bonus
  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YJlio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值