北理工C语言程序设计22春考前模拟题精品

[复制链接]
发表于 2022-2-15 10:13:48 | 显示全部楼层 |阅读模式
[试题分类]:C语言程序设计
1.        下列叙述中,错误的是
A. 分号是C语言语句的必要组成部分
B. C语言程序的入口不一定是主函数main
C. C语言程序基本组成单位是函数
D. C语言程序的注释可以写在语句后面
答案:B
题型:单选题
知识点:第2章  C语言概述
难度:1
2.        下列选项中,所有符号均不是C语言关键字是
A. scanf,define
B. auto,if
C. else,for
D. switch, do
答案:A
题型:单选题
知识点:第2章  C语言概述
难度:1
3.        下列选项中,不能作为C语言常量的是
A. 0xA5
B. 2.5e-2
C. 3e2
D. 0582
答案:
题型:单选题
知识点:第3章  数据类型与运算规则
难度:1
4.        C语言中,不能进行++和--运算的数据类型是
A. int
B. long
C. double
D. 指针
答案:C
题型:单选题
知识点:第3章  数据类型与运算规则
难度:1
5.        若有定义“int w=1,x=2,y=3,z=4;”,则条件表达式“w<x ? y<z ? y : z : w”的结果是
A. 4
B. 3
C. 2
D. 1
答案:B
题型:单选题
知识点:第3章  数据类型与运算规则
难度:2
6.        若有定义“int x;”,则逗号表达式“(x=4*5,x*5),x+25”的值是
A. 20
B. 100
C. 45
D. 不确定
答案:C
题型:单选题
知识点:第3章  数据类型与运算规则
难度:2
7.        若有定义“int i=-1,j=1;”,则执行下列语句后的输出结果是
        if((i++<0) && !(j--<0))   
            printf("%d %d\n",i,j);
        else printf("%d %d\n",j,i);
A. -1 1
B. 0 1
C. 1 1
D. 0 0
答案:
题型:单选题
知识点:第5章  选择结构的程序设计
难度:2
8.        下列叙述中,正确的是
A. switch语句中可以根据需要使用或不使用break语句
B. break语句不能用于switch语句以外的其他语句
C. break语句是switch语句的一部分
D. switch语句中必须使用break语句
答案:A
题型:单选题
知识点:第5章  选择结构的程序设计
难度:2
9.        若有定义“int x=10,i;”,则下列语句执行后的结果是
                for (i=0; x>8; )  printf ("%d ",x--);
A. 10 9
B. 9 8
C. 死循环
D. 语句错误
答案:A
题型:单选题
知识点:第6章  循环结构的程序设计
难度:2
10.        若有定义“int n=0;”,则执行语句“while(n<=2) printf("%d", n++);”后的输出结果是
A. 01
B. 12
C. 012
D. 123
答案:C
题型:单选题
知识点:第6章  循环结构的程序设计
难度:2
11.        {
若有定义“int x=1,y=10;”,则执行下列语句后变量y的值是
        do \{
            y-=x; x++;
        \} while(y--<0);
}
A. -4
B. 2
C. 5
D. 8
答案:A
题型:单选题
知识点:第6章  循环结构的程序设计
难度:2
12.        下列对字符数组str的定义、初始化或赋值语句中,错误的是
A. char str[ ]="Beijing";
B. char str[20]; str="Beijing";
C. char str[20]={"Beijing"};
D. char str[20]={'B', 'e', 'i', 'j', 'i', 'n', 'g'};
答案:
题型:单选题
知识点:第7章  数组
难度:1
13.        {
若有定义“int aa[3][3]=\{1,2,3,4,5,6,7,8,9\},i;”,则执行下列语句后的输出结果是
        for(i=0;i<3;i++)
                printf("%d,",a[i][2-i]);
}
A. 1,5,9,
B. 1,4,7,       
C. 3,5,7,       
D. 3,6,9,
答案:C
题型:单选题
知识点:第7章  数组
难度:2
14.        下列关于函数调用的叙述中,错误的是
A. 函数调用可以作为独立语句存在
B. 函数调用可以作为一个函数的实参
C. 函数调用可以出现在表达式中
D. 函数调用可以作为一个函数的形参
答案:D
题型:单选题
知识点:第8章  函数
难度:1
15.        若在C语言中未说明函数的类型,则系统默认该函数的数据类型是
A. long
B. double
C. float
D. int
答案:D
题型:单选题
知识点:第8章  函数
难度:1
16.        若有定义“int *p,a=4; p=&a;”,则下列选项中,各组成项均代表地址的是
A. a, p, *&a
B. &*a, &a, *p
C. *&p, *p, &a
D. &a, &*p, p
答案:D
题型:单选题
知识点:第9章  指针
难度:2
17.        执行下列语句序列后的输出结果是
     int a=25;        int *ptr=&a;
     printf("%d",++*ptr);
A. 23
B. 24
C. 25
D. 26
答案:
题型:单选题
知识点:第9章  指针
难度:2
18.        {
若有定义“enum color \{red, yellow=2, blue, white, black\} c1;”,则执行语句“printf("%d", c1=black);”后的输出结果是
}
A. 5
B. 4
C. 3
D. 2
答案:A
题型:单选题
知识点:第10章 结构、联合与枚举类型
难度:2
19.        当定义一个联合体变量时,系统为它分配的内存空间是
A. 联合体中占内存容量最大成员所需内存容量
B. 联合体中任意一个成员所需内存容量
C. 联合体中各成员所需内存容量之和
D. 联合体中第一个成员所需内存容量
答案:A
题型:单选题
知识点:第10章 结构、联合与枚举类型
难度:2
20.        已知函数调用“fread(buffer, size,count, fp);”,其中buffer代表的是
A. 一个整数,代表要读入的数据项总数
B. 一个文件指针,指向要读的文件
C. 一个指针,指向要读入数据的存放地址
D. 一个存储区,存放要读的数据项
答案:C
题型:单选题
知识点:第11章 文件
难度:1
21.        若一个字符串的长度为n,则存储它的字符数组的长度至少为     。
答案:n+1
题型:填空题
知识点:第3章  数据类型与运算规则
难度:1
22.        为表示关系x<y<z,应使用的表达式是__________。
答案:(x<y)&&(y<z)
题型:填空题
知识点:第3章  数据类型与运算规则
难度:1
23.        下列语句序列执行后,变量x和z的值分别是    和    。
       int x=1,y=1,z=1,s;                
       s=++x||++y&&++z;
答案:
题型:填空题
知识点:第3章  数据类型与运算规则
难度:1
24.        {
当输入为2时,下列语句序列执行后的输出结果是__________。
               int k;       scanf("%d",&k);
               switch(k) \{
                  case 1: printf("%d",k++);
                         case 2: printf("%d",k++);
                       default: printf("n");
               \}
}
答案:2n
题型:填空题
知识点:第5章  选择结构的程序设计
难度:2
25.        {
下列语句序列执行后,变量x和m的值分别是 (1)   和 (2)  。
int x=1,m=1,n=10;
while(x<n)  \{
       m*=2;
       x+=3;
\}
}
答案:(1) 10    (2) 8
题型:填空题
知识点:第6章  循环结构的程序设计
难度:2
26.        {
下列语句序列执行后的输出结果是__________。
       int x;
       for(x=5;x>0;x--)  
              if(x--<5)    printf("%d",x);
              else            printf("%d",x++);
}
答案:431
题型:填空题
知识点:第6章  循环结构的程序设计
难度:1
27.        {
若有定义“char s[8]=\{ '1', '2', '3', '\0', '1', '2', '3', '\0'\}; ”,语句“printf("%s",s);”执行后的输出结果为__________。
}
答案:
题型:填空题
知识点:第7章  数组
难度:1
28.        {
若有如下函数定义,则函数调用“fun("Language")”的返回值是__________。
       int fun(char s[]) \{
              int i=0;
              while(s[i])    i++;
              return i;
       \}
}
答案:8
题型:填空题
知识点:第8章  函数
难度:2
29.        下列语句序列执行后的输出结果是__________。
       char *s="abcde";
       printf("%c",*(s+2));
答案:c
题型:填空题
知识点:第9章  指针
难度:2
30.        {
若有定义:
       int a[2]=\{10,20\};
       struct \{
               int x;               int *y;
       \} d[2]=\{\{1,&a[0]\}, \{2,&a[1]\}\};
则执行语句“*(d[1].y)-d[0].x*d[1].x);”的结果是     。
}
答案:18
题型:填空题
知识点:第10章 结构、联合与枚举类型
难度:2
31.        {
下列程序的功能是删除字符串s中的字符'c'后,再输出字符串s。
#include <stdio.h>
int main() \{
char s[80];
int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]          (1)           ) \{
                s[j]=          (2)           ;
                j++;
\}
s[j]=          (3)           ;
puts(s);
return 0;
\}
}
答案:
题型:填空题
知识点:第6章  循环结构的程序设计
难度:2
32.        C语言程序中可以有多个函数,但只能有一个主函数。
答案:√
题型:判断题
知识点:第2章  C语言概述
难度:1
33.        "A"是一个字符常量。
答案:×
题型:判断题
知识点:第3章  数据类型与运算规则
难度:1
34.        “%”运算两侧的数据可以是任意类型。
答案:×
题型:判断题
知识点:第3章  数据类型与运算规则
难度:1
35.        标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。
答案:√
题型:判断题
知识点:第4章 顺序结构的程序设计
难度:1
36.        switch语句中,每一个case常量表达式的值可以相同。
答案:×
题型:判断题
知识点:第5章 条件结构的程序设计
难度:1
37.        continue不是结束本次循环,而是终止整个循环的执行。
答案:
题型:判断题
知识点:第6章 循环结构的程序设计
难度:1
38.        C语言中,函数的实参传递到形参有两种方式:值传递和地址传递。
答案:√
题型:判断题
知识点:第8章  函数
难度:1
39.        对指向一维数组的指针可以进行关系运算。
答案:√
题型:判断题
知识点:第9章  指针
难度:1
40.        定义结构体时不能省略结构体名。
答案:
题型:判断题
知识点:第10章 结构、联合与枚举类型
难度:1
41.        随机操作只适用于文本文件。
答案:×
题型:判断题
知识点:第11章  文件
难度:1
42.        {
请写出下列程序的输出结果。
#include <stdio.h>
int main() \{
int i,j,k;
for(i=4;i>0;i--)  \{
for(j=1;j<=8-2*i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
\}
                \}
}
答案
题型:阅读程序题
知识点:第6章  循环结构的程序设计
难度:2
43.        {
请写出下列程序的输出结果。
#include <stdio.h>
int main() \{
int a=0, i;
for ( i=1;  i<5; i++ )
switch (i) \{
case 0:
case 3:  a+=2;
case 1:
case 2:  a+=3;
default: a+=5;
\}
printf("%d",a);
return  0;
\}
}
答案:31
题型:阅读程序题
知识点:第5章  选择结构的程序设计
难度:2
44.        {
请写出下列程序的输出结果。
#include <stdio.h>
void fun(int x,char *c) \{
x=x+1;
*c=*c+1;
printf("%c,%c,",x,*c);
\}
int main() \{  
char a='A',b='a';
fun (a,&b);
printf("%c,%c,",a,b);
return 0;
\}
}
答案:
题型:阅读程序题
知识点:第8章  函数
难度:2
45.        {
请写出下列程序的输出结果。
#include <stdio.h>
#include <string.h>
void fun(char* s, int n) \{
char t, *s1, *s2;
s1=s;
s2=s+n-1;
while(s1<s2) \{
        t=*s1;
        *s1++=*s2;
        *s2--=t;
\}
\}
int main() \{  
static char sp[]="1234567";
fun(sp,strlen(sp));
printf("%s\n",sp);
return  0;
\}
}
答案:7654321
题型:阅读程序题
知识点:第8章  函数
第9章  指针
难度:2

快速回复 返回顶部 返回列表