汉扬编程 C语言入门 C程序设计谭浩强第4版考研教材及真题视频讲解——才聪学习网

C程序设计谭浩强第4版考研教材及真题视频讲解——才聪学习网

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;else a++; 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,编译无法通过。

麻烦大家关注+点赞,谢谢!!

考研真题、考资格证、考试题库就选才聪学习网

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/6093.html

面向编程游戏推荐丨想提升编程能力就选它们,带你稳步“上分”!

嵌入式开发-C语言-函数的参数传递

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部