计算机二级《C语言》模拟试题及答案
    第一部分:选择题
    1. 下列哪个不是C语言的关键字?
A. switch
B. int
C. var
D. return
    答案:C
    2. C语言中的字符常量用单引号括起来,字符串常量用双引号括起来。
A. 对
B. 错
    答案:A
    3. 运算符“++”表示自加一,运算符“--”表示自减一。
A. 对
B. 错
    答案:A
    4. 下面哪种变量定义方式是合法的?
A. int 6_and_7 = 67;
B. int ans1 = 1.5;
C. float num1 = 3.14;
D. char = 'c';
    答案:C
    5. 下面关于if语句的描述正确的是?
A. if语句必须有else分支。
B. if语句判断条件可以是字符型变量。
C. if语句可以嵌套使用。
D. if语句不能使用逻辑运算符。
    答案:C
    6. 下面哪种循环结构可以一次都不执行循环体?
A. for循环
B. while循环
C. do-while循环
计算机二级哪个最容易过
D. 都不可以
    答案:B
    7. 下面哪个函数是用来从键盘获取一个字符并输出的?
A. printf()
B. scanf()
C. gets()
D. putchar()
    答案:D
    8. 下面哪个函数是用来比较两个字符串是否相等的?
A. strcp()
B. strcmp()
C. strstr()
D. sprintf()
    答案:B
    9. C语言中的数组下标是从0开始的。
A. 对
B. 错
    答案:A
    10. 下面哪个运算符有最高的优先级?
A. ++
B. +
C. *
D. =
    答案:A
    第二部分:填空题
    1. 下列标识符是合法的。(多选)
( ) today_is_Friday
( ) 七夕节快乐
( ) month-1
( ) NAME
( ) 3+5num
    答案:A和D
    2. int num = ____; 语句将会把变量num的值赋为10。
答案:10
    3. 在for循环中,______ 语句用于控制循环条件。
答案:判断
    4. int num[5] = {1,2,3,4,5}; 语句定义了一个数组,该数组的元素个数为______。
答案:5
    5. 如果知道一个字符变量的ASCII码值,可以用______函数将其转换为字符。
答案:putchar()
    6. 在C语言中,常量不能被修改,变量可以被修改。
答案:对
    7. 下列代码的输出结果是:2
int a = 1;
a++;
printf("%d", a);
    答案:2
    8. 下列代码的输出结果是:not equal
char str1[] = "hello";
char str2[] = "world";
if (strcp(str1, str2) == 0)
    printf("equal");
else
    printf("not equal");
    答案:not equal
    9. 下列哪个循环结构会先执行一次循环体,然后再根据条件判断是否继续执行?
A. for循环
B. while循环
C. do-while循环
    答案:C
    10. 下列代码的输出结果是:2
int num[] = {1,2,3,4,5};
printf("%d", num[1]);
    答案:2
    第三部分:编程题
    1. 编写一个程序,从键盘输入一个整数n,计算并输出1到n之间所有的奇数和偶数。
    #include<stdio.h>
int main()
{
    int n, i, odd_sum = 0, even_sum = 0;
    printf("请输入一个整数:");
    scanf("%d", &n);
    for(i = 1; i <= n; i++)
    {
        if(i % 2 == 0)
            even_sum += i;
        else
            odd_sum += i;
    }
    printf("1到%d之间的所有奇数和为:%d\n", n, odd_sum);
    printf("1到%d之间的所有偶数和为:%d\n", n, even_sum);
    return 0;