2024计算机考研《C语言考研通关600题》下载分享
题目经过筛选、修正、排版,覆盖整个C语言考研的知识点内容,有考研或期末考试需要的同学可以下载之后自行打印哈~

链接:https://pan.baidu.com/s/18r7qbkKFf0RRdFeIgogMcg
提取码:ym9l
PS:这个600题做完,足够同学们在C语言考试中拿到高分了,再刷更多的也是重复的题目了。

内容预览
[P1000] 是构成C语言程序的基本单位( )
A. 函数 B. 过程 C. 子程序 D. 子例程
[P1001] C语言程序从( )开始执行
A. 程序中第一条可执行语句 B. 程序中第一个函数
C. 程序中的main函数 D. 包含文件中的第一个函数
[P1002] 以下说法中正确的是( )
A. C语言程序总是从第一个定义的函数开始执行
B. 在C语言程序中,要调用的函数必须在main( )函数中定义
C. C语言程序总是从main( )函数开始执行
D. C语言程序中的main( )函数必须放在程序的开始部分
[P1003] 下列关于C语言的说法错误的是( )
A. C程序的工作过程是编辑、编译、连接、运行
B. C语言不区分大小写。
C. C程序的三种基本结构是顺序、选择、循环
D. C程序从main函数开始执行
[P1004] 下列正确的标识符是( )
A. -a1 B. a[i] C. a2_i D. int t
[P1005] 下列C语言用户标识符中合法的是( )
A. 3ax B. x C. case D. -e2 E. union
[P1006] 下列四组选项中,正确的C语言标识符是( )
A. %x B. a+b C. a123 D. 123
[P1007] 下列四组字符串中都可以用作C语言程序中的标识符的是( )
A. print _3d db8 aBc B. I\am one_half start$it 3pai
C. str_1 Cpp pow while D. Pxq My->book line# His.age
[P1008] C语言中的简单数据类型包括( )
A. 整型、实型、逻辑型 B. 整型、实型、逻辑型、字符型
C. 整型、字符型、逻辑型 D. 整型、实型、字符型
[P1009] 在C语言程序中,表达式5%2的结果是( )
A. 2.5 B. 2 C. 1 D. 3
[P1010] 如果int a=3,b=4;则条件表达式"a<b? a:b"的值是( )
A. 3 B. 4 C. 0 D. 1
[P1011] 若int x=2,y=3,z=4 则表达式x<z?y:z的结果是( )
A. 4 B. 3 C.2 D. 0 E. 1
[P1012] C语言中,关系表达式和逻辑表达式的值是( )
A) 0 B) 0或1 C) 1 D) ‘T’或’F’
[P1013] 下面( )表达式的值为4
A. 11/3 B. 11.0/3
C. (float)11/3 D. (int)(11.0/3+0.5)
[P1014] 设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( )
A. b=1.0/a B. b=(float)(1/a)
C. b=1/(float)a D. b=1/(a*1.0)
[P1015] 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是( )
A.1 B.4 C.4.333333 D.4.6
[P1016] 以下对一维数组a的正确说明是( )
A. char a(10); B. int a[];
C. int k=5,a[k]; D. char a[3]={‘a’,’b’,’c’};
[P1017] 以下能对一维数组a进行初始化的语句是( )
A. int a[5]=(0,1,2,3,4,) B. int a(5)={}
C. int a[3]={0,1,2} D. int a{5}={10*1}
[P1018] 在C语言中对一维整型数组的正确定义为( )
A. int a(10); B. int n=10,a[n];
C. int n;a[n]; D. #define N 10
int a[N];
[P1019] 已知:int a[10]; 则对a数组元素的正确引用是( )
A. a[10] B. a[3.5] C. a(5) D. a[0]
[P1020] 若有以下数组说明,则i=10;a[a[i]]元素数值是( )
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10 B.9 C.6 D.5
[P1021] 若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小( )
A. 2 B. 3 C. 4 D.无确定值
[P1022] 对二维数组的正确定义是( )
A.int a[ ] [ ]={1,2,3,4,5,6}; B.int a[2] [ ]={1,2,3,4,5,6};
C.int a[ ] [3]={1,2,3,4,5,6}; D.int a[2,3]={1,2,3,4,5,6};
[P1023] 已知int a[3][4];则对数组元素引用正确的是( )
A. a[2][4] B. a[1,3] C. a[2][0] D. a(2)(1)
[P1024] C语言中函数返回值的类型是由( )决定的
A. 函数定义时指定的类型 B. return语句中的表达式类型
C. 调用该函数时的实参的数据类型 D. 形参的数据类型
[P1025] 在C语言中,函数的数据类型是指( )
A. 函数返回值的数据类型 B. 函数形参的数据类型
C. 调用该函数时的实参的数据类型 D.任意指定的数据类型
[P1026] 在函数调用时,以下说法正确的是( )
A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传递不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里
[P1027] 在C语言中,表示静态存储类别的关键字是( )
A) auto B) register C) static D) extern
[P1028] 未指定存储类别的变量,其隐含的存储类别为( )
A)auto B)static C)extern D)register
[P1029] 若有以下说明语句:
struct student
{
int num;
char name[ ];
float score;
}stu;
则下面的叙述不正确的是( )
A. struct是结构体类型的关键字
B. struct student 是用户定义的结构体类型
C. num, score都是结构体成员名
D. stu是用户定义的结构体类型名
[P1030] 若有以下说明语句:
struct date
{
int year;
int month;
int day;
}brithday;
则下面的叙述不正确的是( )
A. struct是声明结构体类型时用的关键字
B. struct date 是用户定义的结构体类型名
C. brithday是用户定义的结构体类型名
D. year,day 都是结构体成员名
[P1031] 以下对结构变量stul中成员age的非法引用是
struct student
{
int age;
int num;
}stu1,*p;
p=&stu1;
A. stu1.age B. student.age C. p->age D. (*p).age
[P1032] 设有如下定义:
struck sk
{
int a;
float b;
}data;
int *p;
若要使P指向data中的a域,正确的赋值语句是( )
A. p=&a; B. p=data.a; C. p=&data.a; D. *p=data.a;
[P1033] 设有以下说明语句:
typedef struct stu
{
int a;
float b;
}stutype;
则下面叙述中错误的是( )
A. struct是结构类型的关键字
B. struct stu是用户定义的结构类型
C. a和b都是结构成员名
D. stutype是用户定义的结构体变量名
[P1034] 语句int *p;说明了( )
A. p是指向一维数组的指针
B. p是指向函数的指针,该函数返回一int型数据
C. p是指向int型数据的指针
D. p是函数名,该函数返回一指向int型数据的指针
[P1035] 下列不正确的定义是( )
A. int *p=&i,i; B.int *p,i;
C.int i,*p=&i; D.int i,*p;
[P1036] 若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是( )
A. p=q B. *p=*q C. n=*q D. p=n
[P1037] 有语句:int a[10],;则( )是对指针变量p的正确定义和初始化。
A. int p=*a; B. int *p=a; C. int p=&a; D. int *p=&a;
[P1038] 若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是( )
A.a[p] B.p[a] C.*(p+2) D.p+2
[P1039] 有如下程序
int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
则数值为9的表达式是( )
A. *P+9 B. *(P+8) C. *P+=9 D. P+8
[P1040] 在C语言中,以( )作为字符串结束标志
A. ’\n’ B. ’ ’ C. ’0’ D. ’\0’
[P1041] 下列数据中属于“字符串常量”的是( )
A.“a” B.{ABC} C.‘abc\0’ D.‘a’
[P1042] 已知char x[]="hello", y[]={'h','e','a','b','e'};, 则关于两个数组长度的正确描述是( )
A. 相同 B. x大于y C. x小于y D. 以上答案都不对
[P1043] 基本输入输出及流程控制
#include <stdio.h>
main()
{
int a=1,b=3,c=5;
if (c==a+b)
printf("yes\n");
else
printf("no\n");
}
运行结果为:
[P1044] 程序结果
#include <stdio.h>
main()
{ int a=12, b= -34, c=56, min=0;
min=a;
if(min>b)
min=b;
if(min>c)
min=c;
printf("min=%d", min);
}
运行结果为:
[P1045] 程序运行结果
#include <stdio.h>
main()
{ int x=2,y= -1,z=5;
if(x<y)
if(y<0)
z=0;
else
z=z+1;
printf(“%d\n”,z);
}
运行结果为:
[P1046] 程序运行结果
#include <stdio.h>
main()
{ float a,b,c,t;
a=3;
b=7;
c=1;
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%5.2f,%5.2f,%5.2f",a,b,c); %为求余运算
}
运行结果为:
[P1047] 程序运行结果
#include < stdio .h >
main ( )
{ float c=3.0 , d=4.0;
if ( c>d ) c=5.0;
else
if ( c==d ) c=6.0;
else c=7.0;
printf ( “%.1f\n”,c ) ;
}
运行结果为:
[P1048] 程序运行结果
#include <stdio.h>
main()
{ int m;
scanf("%d", &m);
if (m >= 0)
{ if (m%2 == 0) printf("%d is a positive even\n", m);
else printf("%d is a positive odd\n", m); }
else
{ if (m % 2 == 0) printf("%d is a negative even\n", m);
else printf("%d is a negative odd\n", m); }
}
若键入-9,则运行结果为: