c语言考研题库谭浩强,C程序设计谭浩强第4版考研教材下载及真题视频讲解

程序设计和C语言

1.1 复习笔记

一、计算机程序

1程序就是一组计算机能识别和执行的指令

2计算机的一切操作都是由程序控制的

二、计算机语言

1定义

人和计算机交流信息,要解决语言问题。需要创造一种计算机和人都能识别的语言,这就是计算机语言。

2发展阶段

计算机语言经历了几个发展阶段:

(1)机器语言

(2)符号语言

(3)高级语言

三、C语言的发展及其特点

1概述

(1)C语言是国际上广泛流行的计算机高级语言。

(2)C语言的祖先是BCPL语言。

2发展

最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的,后来逐步发展为一种高级编程语言,目前C语言使用的标准是1999年修正的C99。

3特点

(1)语言简洁、紧凑,使用方便、灵活

(2)运算符丰富

(3)数据类型丰富

(4)具有结构化的控制语句

(5)语法限制不太严格,程序设计自由度大

(6)C语言允许直接访问物理地址

(7)用C语言编写的程序可移植性好

(8)生成目标代码质量高,程序执行效率高

四、简单的C语言程序

(1)一个程序由一个或多个源程序文件组成

在一个源程序文件中可以包括3个部分:

①预处理指令

②全局声明

③函数定义

(2)函数是C程序的主要组成部分

①函数是C程序的基本单位。

②一个C语言程序是由一个或多个函数组成的,有且仅有一个main函数。

③一个小程序只包含一个源程序文件。

④函数既可以是库函数,也可以是用户自定义函数。

(3)函数的两个部分

①函数首部

函数首部包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。

②函数体

即函数首部下面的花括号内的部分。函数体一般包括两部分:声明部分和执行部分。

(4)程序总是从main函数开始执行的

(5)程序中对计算机的操作是由函数中的C语句完成的

(6)在每个数据声明和语句的最后必须有一个分号

(7)C语言本身不提供输入输出语句

(8)程序应当包含注释

考研真题精选

一、选择题

1以下均是合法变量名的是(  )。[武汉科技大学2019研]

A.#name   total

B.node  value_max

C._var  long

D.stu-code   a+b

【答案】B查看答案

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

2以下选项中不属于C语言类型的是(  )。[武汉科技大学2019研]

A.short int

B.unsigned long int

C.char

D.bool

【答案】D查看答案

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

3若有声明语句:int x; char y[20]; double z; 则正确的输入语句是(  )。[武汉科技大学2019研]

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。

4若a、b和t都为int变量,则下面不能交换变量a和b值的是(  )。[武汉科技大学2019研]

A.t=a; a=b; b=t;

B.a=t; t=b; b=a;

C.t=b; b=a; a=t;

D.a=a+b; b=a-b; a=a-b;

【答案】B查看答案

【解析】B中首先把t的值赋值给了a,则a的值已经被取代了,后面执行b=a,则ab的值都等于t的值。

5若有定义:int a=1,b=2; float x=3,w; 则合法的switch语句是(  )。[武汉科技大学2019研]

A.

switch(a){case 1:w=a/b; break;case 2: w=a%b; break;}

B.

switch(b){case 1:z=a%b;case 2: z=a/b; break;}

C.

switch(x){case 2:w=a%b; break;case 1:w=a/b; break;}

D.

switch(a+b);{case 3:case 2:w=a%b; break;}

【答案】A查看答案

【解析】B中,变量z未定义;C中x为浮点型,switch后面的表达式不能是浮点型,只能是整型和字符型;D中swith表达式后面不能加分号,答案选A。

6对下述程序段的描述正确的是(  )。[武汉科技大学2019研]

scanf("%d,%d",&a,&b);if(a>b)a=b;b=a;elsea++; b++;printf("a=%d,b=%d",a,b);

A.若输入4,5则输出a=5,b=6

B.若输入5,4则输出a=4,b=5

C.若输入5,4则输出a=5,b=5

D.有语法错误,不能通过编译

【答案】D查看答案

【解析】if(表达式)后面如果没有用花括号括起来,那么if的子语句只包括**条语句,即在程序中只有a=b是属于if语句块的,if和else中间隔了一条语句b=a,编译无法通过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值