C语言基础练习题——考研真题精选

第01章:C语言入门

输出格式

【华南理工大学2018研】十六进制形式输出整数的格式说明符是(  )。

A.%u
B.%ld
C.%x
D.%o

【答案】C

【解析】A表示输出的是无符号整型;B表示输出的是有符号长整型;D表示输出的是八进制。

预处理指令

【中央财经大学2018研】以下叙述错误的是(  )。
A.在程序中凡是以“#”开始的语句行都是预处理命令行
B.预处理命令行的最后不能以分号表示结束
C.#include MAX是合法的宏定义命令行
D.C程序对预处理命令行的处理是在程序执行的过程中进行的

【答案】D

【解析】在C语言中,凡是以“#”开头的行都称为编译预处理命令行,为了区别C语句,后面是不加分号的。编译预处理是在编译程序对C源程序进行编译前执行的,而不是在程序执行过程中进行的。

第02章:变量与进制

标识符

【武汉科技大学2019研】

以下均是合法变量名的是(  )。
A.#name total
B.node  value_max
C._var  long
D.stu-code a+b

【答案】B

【解析】C语言中变量名只能包含数字,字母和下划线,且只能以字母和下划线开始。A项含非法字符#,错误;C中long为关键字,变量不能以关键字命名;D中含非法字符-和+。

【四川大学2017研】以下不合法的用户标识符是(  )。
A.J2_KEY
B.Double
C.4d
D._8_

【答案】C

【解析】标识符只能包含数字,字母,下划线,且不能以数字开头,选项C错误。

数据类型

【武汉科技大学2019研】

以下选项中不属于C语言类型的是(  )。
A.short int
B.unsigned long int
C.char
D.bool

【答案】D

【解析】C语言中没有bool型,只有C++才有boolean型,也称bool。C语言中一般用“0”表示“假”,用“1”表示“真”。

【中央财经大学2018研】以下程序运行后的输出结果是(  )。

int main(){
      
	double d;  
	float f;  
	long l;  
	int i;  
	i=f=l=d=20/3;  
	printf("%d %ld %.1f %.1f\n",i,l,f,d);  
	return 0;
} 

A.6 6 6.0 6.0
B.6 6 6.7 6.7
C.6 6 6.0 6.7
D.6 6 6.7 6.0

【答案】C

【解析】赋值运算符是自右向左结合的,所以首先执行d=20/3=6,同时i、l、f也全为6,在进行输出时,f和d要保留一位小数,所以答案选C。

【四川大学2017研】有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。

N-S图如图1 计算某点建筑高度的N-S流程图所示。
在这里插入图片描述

【答案】
程序如下:

#include<stdio.h>
int main(){
      
  int h=10;  
  float x1=2,y1=2,x2=-2,y2=-2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;  
  printf("请输入一个点(x,y):");  
  scanf("%f,%f",&x,&y);  
  d1=(x-x4)*(x-x4)+(y-y4)*(y-y4); //求该点到各中心点距离  
  d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);  
  d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);  
  d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);  
  if(d1>1&&d2>1&&d3>1&&d4>1) //判断该点是否在塔外  
    	h=0; 
  printf("该点高度为%d\n",h);  
  return 0;
} 

scanf输入

【武汉科技大学2019研】

若有声明语句:int x; char y[20]; double z;则正确的输入语句是(  )。
A.scanf(“%d%c%le\n”,&x,&y,&z);
B.scanf(“%2d%s%lf”,&x,&y,&z);
C.scanf(“%d%s%lf”,&x,y,&z);
D.scanf(“%x%s%3.2f”,&x,y,&z);

【答案】C

【解析】y为一维数组名,指向数组首元素的地址,因此不需要再使用取地址运算符&,AB错误;D中%3.2f表示长度为3,小数为2位,但是小数点也占一位,因此D错误,答案选C。

进制

【华南理工大学2018研】与十进制1100等值的十六进制数是(  )。
A.44A
B.44C
C.54A
D.54C

【答案】B

【解析】1100转换成二进制为0100 0100 1100,因此转换为十六进制为44C。

常量

【北京航空航天大学2018研】若已知有如下宏定义

#define  CANBERRA(x,y)  ((x-y)/(x+y))

则以下表达式中,返回结果值最大的是(  )。
A.CANBERRA(3.0,2.0);
B.CANBERRA(4.0,1.0);
C.CANBERRA(1.0+2.0,0.0+2.0);
D.CANBERRA(1.0+2.0,1.0+1.0);

【答案】C

【解析】A项中为1.0/5.0,结果为0.2;B项中为3.0/5.0,结果为0.6;C项中的宏替换后为(1.0+2.0-0.0+2.0)/(1.0+2.0+0+2.0)=1.0;D项中宏替换后为(1.0+2.0-1.0+1.0)/(1.0+2.0+1.0+1.0)=0.6,因此最后答案为C。

【中央财经大学2018研】若有如下宏定义:

#define  N  2
#define  y(n)  ((N+1)*n)

则执行下列语句:z=4*(N+y(5));后的结果是(  )。
A.语句有错误
B.z值为68
C.z值为60
D.z值为180

【答案】B

【解析】y(5)=15,z=4*(N+y(5))=4*17=68,答案选B。

第03章:运算符与流程控制

赋值运算符

【武汉科技大学2019研】

若a、b和t都为int变量,则下面不能交换变量a和b值的是

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
《数据结构》(C语言版)是一本经典的教材,编写者严蔚敏老师是我国著名计算机科学家之一。该教材囊括了数据结构的基本概念、逻辑结构、存储结构以及常见的算法和高级数据结构。 在书中,严蔚敏老师为了帮助读者更好地理解和掌握数据结构,设计了许多典型习题。这些习题内容丰富,涵盖了数据结构中的各个知识点和难度级别。通过解答这些习题,读者可以巩固基本概念,熟悉常见算法和数据结构的实现方式。 同时,书中还包含了一些考研真题的详解。考研真题是指近年来的研究生考试中出现的与数据结构相关的问题。通过对这些考研真题的详细解析,读者可以了解考试中的出题思路和解题技巧,为应对考试做好准备。 这本教材中的典型习题和考研真题详解给读者提供了一个练习和检验自己掌握程度的机会。通过不断解答这些题目,读者可以逐渐提高对数据结构的理解和运用能力。同时,通过分析解题过程和思路,读者也可以提高自己的解题思维和分析问题的能力。 《数据结构》(C语言版)典型习题和考研真题详解不仅适用于计算机相关专业的本科生和研究生,还适用于对数据结构感兴趣的其他读者。无论是作为教材的配套资源还是作为自学的参考资料,这本书都能帮助读者深入理解和应用数据结构的知识,提高自己在相关领域的学术研究或职业发展水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值