【程序员】C语言全部章节复习题

曾巧文 发布于:2011-4-14 15:24 分类:学习笔记 标签: 文件 C语言 编程

  曾巧文博客    看了下时间离考程序员的时间不多了,整理了下C语言的知识,复习复习!注:全国计算机技术与软件专业技术资格(水平)考试,简称“软考”,亦称为“软件水平考试”。是由中华人民共和国人力资源和社会保障部与工业和信息化部共同举办的一个全国性考试,主要面向计算机及软件行业专业人员开设。分为三个级别、二十余个科目。其中较著名的有系统分析师、软件设计师、网络工程师、网络管理员、程序员等。而我这次要考的是第一个等级,初级程序员。

第一部分 C语言概述
一、选择题:

1、一个C程序的执行是从( A )。

A本程序的main函数开始,到main函数结束

B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C本程序的main函数开始,到本程序文件的最后一个函数结束

D本程序文件的第一个函数开始,到本程序main函数结束


2、 在 C 语言中,每个语句必须以( D )结束。

A. 回车符 B. 冒号 C. 逗号 D. 分号


3、C 语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始 B. 必须在系统调用的库函数的后面

C. 可以任意 D. 必须在最后


4、一个C 语言程序是由( B )。

A. 一个主程序和若干子程序组成 B. 函数组成

C. 若干过程组成 D. 若干子程序组成


5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体

B. 主函数可以调用任何非主函数的其他函数

C. 任何非主函数可以调用其他任何非主函数

D. 程序可以从任何非主函数开始执行


6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件 B. 生成目标文件

C. 输出运行结果 D. 自动保存源文件

二、填空题:

1、C 语言只有 32 个关键字和 9 种控制语句。

2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。

4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函

数 printf 完成的。

5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。

6、C 语言的标识符只能由字母、数字和 下划线 三种字符组成。


第三章数据类型、运算符和表达式
一、选择题:

1、以下选项中,不正确的 C 语言浮点型常量是( C )。

A. 160. B. 0.12 C. 2e4.2 D. 0.0

2、以下选项中,( D )是不正确的 C 语言字符型常量。

A. 'a' B. '\x41' C. '\101' D. "a"

3、 在 C 语言中,字符型数据在计算机内存中,以字符的( C )形式存储。

A. 原码 B. 反码 C. ASCII 码 D. BCD码

4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。

x=(i=4,j=16,k=32)

A. 4 B. 16 C.32 D.52

5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。

A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算

C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算

6、若有代数式 ,则不正确的C语言表达式是( C )。

A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*3

7、表达式!x||a==b 等效于( D )。

A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b)

8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A)。

A. 0,0 B. 0,1 C. 1,0 D. 1,1

9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。

A. 3 B. 0 C. 9 D. -12

10、在以下一组运算符中,优先级最低的运算符是( D )。

A. * B. != C. + D. =

11、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。

A. 6 B. 12 C. 15 D. 表达式出错

12、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。

A. 1 B. 2 C. 2.0 D. 2.5

13、sizeof (double)的结果值是( A )。

A. 8 B. 4 C. 2 D. 出错

14、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为( D )。

A. 4 B. 3 C. 2 D. 1

15、设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( A )。

A. 10<a<15 B. a= =11|| a= =12 || a= =13 || a= =14

C. a>10 && a<15 D. !(a<=10) && !(a>=15)

16、设 f是实型变量,下列表达式中不是逗号表达式的是( D )。

A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0)

17、 表达式18/4*sqrt(4.0)/8值的数据类型是( C )。

A. int B. float C. double D. 不确定

18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句

C2=’A’+’6’-‘3’;后c2中的值是( A )。

A. D B. 68 C. 不确定的值 D. C

19、以下用户标识符中,合法的是( B )。

A. int B. nit C. 123 D. a+b

20、C 语言中,要求运算对象只能为整数的运算符是( A )。

A. % B. / C. > D. *

21、若有说明语句:char c='\72';则变量c在内存占用的字节数是( A )。

A. 1 B. 2 C. 3 D. 4

22、字符串"ABC"在内存占用的字节数是( B )。

A. 3 B. 4 C. 6 D. 8

23、要为字符型变量 a赋初值,下列语句中哪一个是正确的( B )。

A. char a="3"; B. char a=’3’; C. char a=%; D. char a=*;

24、下列不正确的转义字符是( C )。

A. \\ B. \' C. 074 D. \0 

 

第二部分 填空题:

1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。

3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、 1 。

4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。

5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。

6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4,4,10,6 。

7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3 。

8、数学式a/(b*c)的 C 语言表达式 a/b/c 。

 

第三部分 编程题:


1、输出结果

 #include <stdio.h> 

#include <string.h> 

void main( ) 

{ 

    char str1[ ]="*******"; 

    for(int i=0;i<4;i++) 

   { 

    printf("%s\n",str1); 

    str1[i]=' '; 

    str1[strlen(str1)-1]='\0'; 

   } 

} 

*******

*****

***

* 
 
 

2、设计一个盒子类Box,数据成员包括length(长)、width(宽)、height(高)。然后编写main函数测试Box类。

要求用成员函数实现以下功能:

(1)构造函数初始化长、宽、高为0;

(2)可由键盘输入设置盒子的长、宽、高;

(3)计算并输出盒子的体积。

 

#include <iostream.h>
#include <math.h>
class Box
{
protected:
	int length, width, hight;
public:
	void setBox(int, int, int );
	void getBox(int *L,int *W, int *H)
	{
		*L = length;
		*W = width;
		*H = hight;
	}
	void print(void)
	{
		cout<<"The Box Volume is : "<<length*width*hight<<endl;
	}

};

void Box::setBox(int L = 0, int W = 0, int H = 0)
{
	length = L;
	width = W;
	hight = H;  
}

void main(void)
{
	Box r;
	int l, w, h;
	cout<<"please input the Box length,width,hight"<<endl;
	cin>> l >> w >> h;
	r.setBox(l, w, h);
	r.getBox(&l, &w, &h);
	r.print();

}

3、首先设计一个银行账户类Account,具有账户号、账户名、余额、利率等数据成员(其中利率为静态数据成员),具有构造函数、存款、取款、查询余额、查询利率等成员函数(其中查询利率为静态成员函数)。定义一个函数void Show(Account& a)显示一个银行账户a的信息(注意该函数不是Account类的成员函数)。

 

#include <iostream.h>
#include <string.h>

class ACCOUNT 
{

public:
     ACCOUNT (string accno,string name,float balance)
     {
		 _accname = name;
		 _accno = accno;
		 _balance = balance;
	 }

	 void addmoney(int money)
	 {
		 cout<<"add money is:"<<money<<"yuan"<<endl;
		 _balance = _balance + money;
	 }

	 void decreasemoney(int money)
	 {
		 cout<<"decrease money is:"<<money<<"yuan"<<endl;
		 _balance = _balance - money;
	 }

	 void showbalance()
	{
		cout << "The balance is:" << balance << endl;
	}
	static void showrate()
	{
		cout << "The rate is:" << rate << endl;
	}
	friend void show(ACCOUNT &a);

private:
     string _accno,_accname;
     float _balance;
	 static double rate;
};

double ACCOUNT::rate = 0.01;

void show(ACCOUNT &a)
{
	cout<<"The accno is : "<<a._accno<<endl;
    cout<<"The name is : "<<a._accname<<endl;
    cout<<"The balance is : "<<a._balance<<endl;
    cout<<endl;
}

int main()
{
	ACCOUNT a("choovin", "2010030101033", 2000);
	show(a);
	a.addmoney(2000);
	a.showbalance();
	a.decreasemoney(800);
	a.showbalance();
	ACCOUNT::showrate();
	return 0;
}

版权所有:《曾巧文博客-关注互联网IT技术,记录生活点滴》 => 《【程序员】C语言全部章节复习题
本文地址://qiaowen.net/post-1109.html
除非注明,文章均为 《曾巧文博客-关注互联网IT技术,记录生活点滴》 原创,欢迎转载!转载请注明本文地址,谢谢。

有 4121 人浏览,获得评论 0 条

发表评论:

Powered by emlog 粤ICP备12040901号

>>本作品采用-知识共享署名-非商业-禁止演绎-协议-进行许可 |站点地图 | | | | 开放分类目录 |