文档视界 最新最全的文档下载
当前位置:文档视界 › C语言程序设计复习提纲

C语言程序设计复习提纲

C语言程序设计复习提纲
C语言程序设计复习提纲

C语言复习提纲

C语言的特点

概述

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。

详细介绍

具体来讲,C语言的特点为: 1. 简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。 2. 运算符丰富C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。 3. 数据结构丰富C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。 4. C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 5. C语法限制不太严格、程序设计自由度大一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。 6. C语言允许直接访问物理地址,可以直接对硬件进行操作因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。7. C语言程序生成代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低10へ20%。8. C语言适用范围大,可移植性好[1]C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。

第一章

1.程序设计语言:机器语言、汇编语言、高级语言。

2.高级语言翻译成机器语言的两种方式:编译方式、解释方式。

3.算法+数据结构=程序

4.结构化程序设计的三种基本结构:顺序结构、分支(选择)结构、循环结构

5.算法的表示方法:自然语言、传统的程序流程图、N-S流程图。

6.结构化程序设计的32字原则:

7.C语言的产生及发展:UNIX操作系统

8.C语言的特点:

9.C语言由函数组成,有且仅有一个main函数。

10.函数:说明部分、函数体。

11.一条复杂语句分行书写,用反斜杠(\)续行。

12.注释用/*……*/

第二章

1.单字符输入/出:getchar()、putchar(字符变量)。

2.字符串:gets(字符数组名)、puts(数组名)。

3..格式化输入:scanf(“格式控制符”,地址列表);

格式控制符:%c、 %d 、 %o 、 %x、 %s、 %f

◆若输入long型、double型应加l,如%ld、 %lo、 %lf

◆格式%s输入字符串不包含空格,且对应地址表列是字符数组名。

◆默认分隔符:空格、回车、Tab键(也可按域宽截取)

◆格式控制符间不宜加其它字符,如加入其它字符,输入时应原样输入,否则数据接收

错误。如:scanf(“%d, %d”,&a,&b);输入数据时两数据间要有逗号;

scanf(“%d %d”,&a,&b); %d间有两个空格,则输入数据时至少有两个空格。

◆输入函数中%f格式不能带小数,如:scanf(“%7.2f”,&a)是错误的。

◆%c格式输入单字符,空格字符和转义字符都作为有效字符接收。

◆%*d表示跳过它对应的输入数据。

4..格式化输出:printf(“格式控制符”,输出列表);

◆格式控制符部分可加入其它字符,原样输出。如:提示语或使输出结果清楚显示

◆输出列表:可以是变量、常量、表达式、函数调用等。

◆转义字符:以斜杠(\)开始,作为一个字符,如求字符串长度:

“jk\\gk\bl\0k\nlj”,长度为7。(\0为字符串结束符)

◆注意:输出 long 、double型数据,用%ld、%lf

◆可设定输出宽度,m和n,如:%5d、%6.2f、%.2f

◆负号表示域内向左对齐,如:%-12d

第三章

1.常量:

◆整型常量:235、0235、-0x235(前可加负号),长整型:-12l、-065l、0x55l等。

◆实型常量:小数形式、指数形式。

◆字符常量:用单引号,如‘c’(注意转义字符)。

◆字符串常量:用双引号,如“hglhg”、“a”,内存占用为实际长度加1。

◆符号常量:无参宏(#define)。

2.变量:

◆标识符命名规则:4条。

◆各种类型变量的长度。

◆数据类型转换:自动、强制。

◆注:强制类型转换只得到所需类型的结果值,原变量或表达式的类型仍为原类型。如

(float)(x+y)

3.各种运算符运算规则及其优先级页。

4.补充---逻辑表达式的优化运算:

◆&&运算:只要算出第一个表达式为0,第二个表达式不再运算。

◆||运算:只要算出第一个表达式为1,第二个表达式不再运算。

如:int i=0,j=0,a=6; if ((++i>0)||(++j>0)) a++;printf(%d%d%d”,i,j,a);结果i为1,j为0,a为7。

5.其它运算符:条件运算、逗号运算、长度运算符(形式:sizeof 表达式或sizeof (数据类型))

第四章

1.if、while、for中的表达式,一般是逻辑或关系表达式,也可以是任意类型表达式。如while(a=5)….

2.如果有多条语句,必须用大括号括起,构成复合语句。

3.switch语句中case后面只能是常量值;若执行完某case后的语句没遇到break,则继续执行下一个case 语句。

4.循环程序:注意循环变量的初值、修正值、循环条件等,以及循环中用到的某些变量赋初值,如求累加和变量。

5.一般是先判断条件,再执行循环体;但do—while语句是先执行一遍循环体,再判断条件。

6.break、continue语句。

7.本章主要是算法构思。(先考虑好需要那些变量,即数据结构,再考虑怎样求解问题)第五章

1.数组定义:int a[10];或int a[N](N需要事先定义为符号常量:#define N 10 );数组长度必须是常量值,不能是变量,可以是在程序开始前定义的符号常量,进行长度定义。

2.下标引用:0~N-1,切记不能引用到N。(int a[5]; a[5]=10;这种引用是错误的)

3.数组初始化时可省略长度定义。

4.数组定义后如没有给任何一个元素赋初值,对于static类型,各元素初值为0;对于auto类型,各元素值不定。

5.数组不能整体赋值。数组中各元素值的输入/出,应使用循环程序逐个输入/出;字符数组例外(gets、puts)。

6.数组中的两种排序方法:

◆冒泡法:外循环为i=0;i

两个元素,并互换。(考试内容)

◆选择法:外循环为i=0;i

min=i;循环中比较a[min]和a[j]两个元素,不互换,只让min=j;内循环结束后再进行互换, a[i]和a[min]互换。(不做考试内容,但是希望同学们记住这种好的排序方法)

7.二维数组:按行存放;赋初值的5种情况。

8.字符数组:通常定义较长长度,如:char s[50];通常用于存放字符串,结束标志为‘\0’。

可用字符串常量为其初始化,如:char s[]=“sdkhg”;也可由键盘输入,如

gets(s);输出用puts(s);

注意:char s[5]={‘a’,’d’,’f’,’g’,’w’};此种形式不是字符串,无字符串结束标志,仅仅是普通一维字符数组,不能用puts输出,只能用%c格式逐个输出。

字符数组的输入/出还有两种形式:%c、%s。

9.字符串函数:strcpy(s1,s2)(复制)、 strcat(s1,s2)(连接)、 strcmp(s1,s2)(比较)、 strclen(s)(测长度)、 strupr(s)(转为大写)、 strlwr(s)(转为小写)

第六章

1.函数定义:int func(int a,int y);如定义时没指明函数类型,如:fun(int a);默认是int型,返回值不确定。

2.声明:函数定义在前,使用在后,可省略函数声明,反之需要在使用前声明。函数声明的几种变通形式。

◆ 函数声明后加分号,而函数定义后没有分号。

3.函数调用:函数名(实参表);

◆ 实参与形参个数、类型、位置一致。

◆ 形参与实参占据不同的存储单元;形参只在函数调用时才为其分配存储单元,函数调

用结束后释放。

◆ 实参与形参之间是传值调用,单向传递关系,形参值改变,不会影响实参值。 ◆ 补充:函数可嵌套调用,不可嵌套定义。

◆ 嵌套调用:一个函数内部又调用另外一个函数。

◆ 递归调用:一个函数调用它自身。(考试不作要求) 4.数组作为函数参数:void func(int a[],int n);

◆ 传递的是实参数组的首地址。调用时实参是数组名,如func(a,10);

5.多维数组: void func(int a[][5],int n);(可省略第一维,但不能省略其它高维)。

6.从作用域角度,变量分为:全局变量、局部变量。

◆ 局部变量:在函数内部定义,只能在该函数中使用,包括函数的形参和复合语句中定

义的变量,main 函数中定义的变量也是局部变量,不能被其它函数使用。

◆ 不同函数内定义的同名变量,互不影响,因其作用域不同,内存空间独立。

◆ 全局变量:在函数外部定义,作用域从定义开始到本文件结束。其间的所有函数都可

以使用它,可在各函数间传递值,但容易带来副作用,降低模块独立性。

7.变量的存储类别:auto 、static 、register 、extern 。

8.局部变量的存储类别: auto 、static 、register 。

◆ auto 型的生存周期时函数被调期间,两次调用之间不保留值。

◆ static 型的生存期是整个程序运行期间,

保留上一次调用后的值,且只赋一次初值(在

程序运行前初始化,默认初值为0)。如:

9.全局变量的存储类别: static 、extern 。

◆ 全局变量总是存放在静态存储区间,生存期

是整个程序运行期间,只赋一次初值,在程

序运行前初始化,默认初值为0。

◆ 用extern 对全局变量加以声明,可以将其作用域扩充到整个文件或其它文件。例:

P 113页、P 114页。

◆ 定义全局变量时加上static ,可将其作

用域限制在本文件中,不能被其它文件使

用。例:P 114页。

10.函数的作用域是全局的,可被其它函数调

用。 ◆ 函数存储类别:static 、extern 。默认

为extern 型。

◆ 如:static int func(int a);则函

数不被其它文件使用,所以两文件中的同名

静态函数,互不干扰。

第七章

1.预处理命令以“#”开头,末尾不加分号。在程序编译之前处理。

2.宏替换:将函数中出现宏名的地方用宏体进行替换。

◆宏体可以是数字、也可以是组成C表达式或语句的其它字符,还可以引用已定义的其

它宏名。

◆宏的作用域:定义宏之后到本源文件结束,可用#undef提前结束。

◆无参宏(符号常量):#define PI 3.14

注意:函数中双引号内的宏名不替换,如printf(“PI”);

◆有参宏:#define 宏名(形参表) 宏体

◆引用:宏名(实参表)

◆注意有参宏如果宏体和参数没用括号括起,可能有副作用。

◆文件包含:#include <文件名> 搜索系统标准目录

#include “文件名” 先搜索当前目录,找不到再搜索系统标准目录

第八章

1.指针的基本概念:指针≡地址;

2.指针常量:

某已知变量的地址,或数组名等,:int a,b[5];此时&a和b就是指针常量(固定值)。

3.指针变量:如int a,*p=&a; char s[9],*q=s;

◆赋值:必须赋地址值,如int a,*p; p=&a;

如p=2001;是错误的。

4.间接访问:*p=5;等同于a=5;

5.指针作为函数的参数,传递的是实参变量的地址,

如:void func(int *p)

◆调用时用某变量的地址常量,或指向该变量的指针作为实参,如主调函数中有定义

int a,*q;q=&a;则可用&a或q作为实参进行调用,即func(&a);或func(q);都是将变量a的地址传递给形参指针p,使指针p指向变量a。函数中使用*p就是对a的间接访问,就可以改变a的值,或者将结果放入a中。但形参变量本身改变,反过来不会影响实参指针值。

6.指针与一维数组:int a[10],*p=a;则a代表数组首地址,是指针常量,

◆元素的表示方法:a[i]、*(a+i)、 p[i]、*(p+i)

◆元素地址:&a[i]、a+i、 &p[i]、p+I

◆区别:a是指针常量,只不能变,而p是指针变量,可进行增减运算;所以常通过p的

增减运算来快速访问数组a,如:

while(p

或while(p

◆理解(*p)++、*p++、 *(p++)、p++的含义。

◆执行p++后指针拨动的单元数(由元素类型决定)

7.一维数组作为函数形参,实际上就是一个指针变量,如:func(int a[],int n);

等同于func(int *a,int n);

◆函数声明的几种变通形式。

◆所以指针a在函数中值可以改变,如*a++,不同于函数内定义的数组如:int b[5];

这里b是指针常量。

8.指针与字符串:char *p,s[50]=“fdjfjdfj”; p=s;

◆可用p间接访问字符串,如指针法:for( ;*p!=‘\0’;p++) 或下表法:for(i=0;

p[i]!=‘\0’;i++)

9.指针形参在函数间传递字符串:void copy(char *s1,char *s2)

{ while(*s1++=*s2++); }

◆调用时用字符数组名或指向某字符串的指针做实参,

如:char *p=“sdgygkh”; char ss[50]; func(ss,p) ;

◆函数调用的灵活形式:func(ss+2,p)或func(ss,p+2)

◆注意:输入字符串常用gets函数,但参数应是字符数组名,或已指向某字符数组的指

针,如:char s[50],*p; gets(s);是正确的,而gets(p)是错误的,因为p没被赋地址值,无任何指向。改正:p=s; gets(p);

10.数组指针与多维数组:int a[3][4]; int (*p)[4]; p=a;

◆p指向a的一整行,此时*p就代表a[0];如果执行p++,则p指向下一行,即*p代表

a[1],p跳过单元数为2*4=8个字节。

◆引用元素的两种形式:p[i][j]或(*p)[j]

◆几个等价关系式:由x[i]等价于*(x+i)和&x[i]等价于x+i得出:

a[i][j]等价(*(a+i))[j]等价*(a[i]+j)等价*(*(a+i)+j)

&a[i][j]等价*(a+i)+ j等价a[i]+j

◆指针形参在函数间传递多维数组:int func(int (*b)[4],int n);等价于int

func(int b[][4],int n);

◆调用时用二维数组名做实参,如:func(a,3);

11.指针数组:char *s[3];表示数组s有3个元素,每一个元素都是一个指针变量,都可

以指向一个字符串。

◆赋初值:char *s[3]={“sdgg”,”ww”,”q”};或单独赋值:s[0]=“sdgg”;

s[1]=“ww”;s[2]=“q”;

◆用于指向多个字符串。

◆也可用字符数组存储多个字符串,只是占用内存空间大。

11.指向指针的指针:二级指针,char **p;

◆用于访问指针数组,或在函数间传递指针数组,通常就是传递多个字符串。

12.char *s[3]={“sdgg”,”ww”,”q”};char **p; p=s;

◆p指向数组s的首地址,此时*p代表s[0],即指向第0个字符串,*p和s[0]都是第0

个字符串的首地址,

◆可用gets(*p)或gets(p[i])来输入字符串,用puts(*p) 或puts(p[i])来输出字符

串。

◆在函数间传递多个字符串的参数形式:func(char **s,int n)或func(char *s[ ],int

n)或func(char s[ ][ ],int n)

◆总结:

1、通常在主调函数中定义指针数组指向多个字符串。

2、函数:func(char **s,int n)或func(char *s[],int n)传递多个字符串首地址;

3、在函数内的使用形式:s[i]或*(s+i),都代表第i个串首地址,或*s++;

4、一般都是整串操作,循环一般使用字符串个数进行控制,如:for(i=0;i

{s[i]……}

◆字符串操作函数:strlen()、strcpy()、strcmp()

13.返回指针值的函数:char *func(char *s,char ch)

◆切记:返回的是地址,在主调函数中应使用指针类型变量接收函数返回值,

如:char *p,a[]=“asdgg”;p=func(a,’d’);

14.动态内存分配:掌握malloc 函数的使用方法。

第九章

1.结构体:s t r u c t,.定义的几种形式。成员可以是任意类型。

成员引用:结构体变量名.成员名

◆占用内存大小为:各成员占用内存之和。

◆结构体数组:同普通数组一样使用。初始化时注意双重括号。

◆结构体指针:(*p).成员名或p->成员名只能用结构体变量地址赋值,不能赋某成员的地址,如:p=&https://www.docsj.com/doc/aa17753571.html,;是错误的。

◆通常定义变量或形参时必须加上struct,如: void func(struct student *p)

{ struct student

a[4],temp;……}

2.共用体:union,定义形式同结构体。成员引用:共用体变量名.成员名

◆占用内存大小为:共用体中较长的成员的长度。

◆某一时刻只有一个成员起作用,最后一个存放的成员值有效。

◆结构体类型与共用体类型可互相嵌套使用,即结构体成员的类型也可以是共用体类

型,反之亦然。

3.枚举类型:如:enum week{sun,mon,tues,wen,thur,fri,sat}day;

◆枚举元素就是枚举变量的可能取值,如:day=mon;

◆枚举元素视为常量,其值就是序号(0 ~ n-1)。也可以在定义时改变其值,如:enum

s{a=3,b=1,c=2};

4.类型标识符自定义:typedef如:typedef int INTEGER; typedef

struct{…… }STU;

typedef int ARR[10];以后可直接使用INTEGER、ARR、STU类型进行变量定义,书写简略。

◆注意:只能为类型另起新名,不能创造新类型,也不能为变量或函数重新命名

(define)。

第十章文件

1.流式文件:文本文件、二进制文件。

◆文本文件:若干字符序列,较长,可用type命令或记事本查看。

◆二进制文件:若干字节序列,短,存取速度快,不能用type或记事本等查看。

2.文件操作:读操作、写操作。使用有关文件函数来完成,需包含头文件stdio.h

3.操作步骤:①定义文件类型指针②打开文件③检测指针④读/写⑤关闭文件。

4.打开文件时的使用方式各6种,P207页。

5.读/写函数:fgetc(fp)、fputc(ch,fp)、fread(*p,size,n,fp)、

fwrite(*p,size,n,fp)、fgets(*str,n,fp)、fputs(*str,fp)

fscanf(fp, “格式控制符” ,地址列表)、fprintf(fp, “格式控制符” ,输出列表),以上函数是简要书写,具体参考P238页。

6.三个标准设备文件指针:stdin、stdout、stderr

7、有关文件操作函数ferror(fp)、feof(fp)、clearerr(fp);

10.控制循环:while((ch=fgetc(fp)) !=EOF) 或while(!feof(fp))

EOF是在头文件中定义的符号常量,值为-1代表文件结束。

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

c语言程序设计试题答案

习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); }

B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是() A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

C语言程序设计期末考试卷及答案

C 语言程序设计期末考试卷及答案 一、单项选择题。从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。 1.一个C 语言程序的执行是从( )。 A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 B )本程序的main 函数开始,到main 函数结束 C )本程序的main 函数开始,到本程序文件的最后一个函数结束 D )本程序文件的第一个函数开始,到本程序的main 函数结束 2.下列选项中不属于...C 语言关键字的是( ) 。 A )switch B )printf C )default D )case 3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。 A )24 B ) -24 C )4 D )16 4.已知int i;float d;,则正确的表达式是( )。 A )(int d) B )int(d)%i C )(int)d%i D )int(d%i) 5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。 A )5 B )16 C )27 D )38 6.下列选项中合法的字符型常量是( )。 A )"a" B )'\n' C )"\n" D )a 7.下面程序的运行结果是( )。 #include void main( ) { int k = 15; printf("k = %d,k = %o,k = %x\n",k,k,k); } A )k = 15,k = 15,k = 15 B )k = 15,k = 17,k = 17 C )k = 15,k = 017,k = 0xf D )k = 15,k = 17,k = f 8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确... 的输入形式是( )。 A )10 B )10 C )10,20,30 D )10 20 20 20 30 30 30 9.已知int x=1,y=2,z=3;,执行下列程序段后,输出的结果是( )。 if(x>y) z=x;x=y;y=z; printf("%d,%d,%d",x,y,z); A )1,2,3 B )2,3,3 C )2,3,1 D )2,3,2 10.若变量c 为char 类型,能正确判断出c 为大写字母的表达式是( )。 A )'A'<=c<='Z' B )('A'<=c)||(c<='Z') C )(A<=c)&&(c<=Z) D )('A'<=c)&&(c<='Z') 11.有以下程序段: int k=0; while(k=1) k++; while 循环执行的次数是( )。 ------------------------------------------ 第 ----------------------------2----------------------------装 ---------------------------------------线--------------------------------------------- 班级 姓名 学号 ------------------------------------------ 第 ----------------------------1----------------------------装

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

(推荐下载)C语言程序设计练习题(含程序及参考答案)

(完整word版)C语言程序设计练习题(含程序及参考答案) 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)C语言程序设计练习题(含程序及参考答案))的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)C语言程序设计练习题(含程序及参考答案)的全部内容。

1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2,一般三角形返回1,若不能构成三角形返回0。 #include 〈stdio.h〉 int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c〉b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nInput a,b,c: "); scanf("%d%d%d”,&a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape :%d\n”,shape);

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

C语言程序设计《习题集》

第二章 练习一 一.选择题 1.以下说法中正确的是 A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2.以下说法中正确的是 A)#define和printf都是C语句B)#define是C语句,而printf不是 C)printf是C语句,但#define不是D)#define和printf都不是C语句 3.在C语言提供的合法的关键字是 A)swicth B)cher C)Case D)default 4.以下选项中属于C语言的数据类型是 A)复数型B)逻辑型C)双精度型D)集合型 5.C语言中最简单的数据类型包括 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型 6.C语言提供的合法的数据类型关键字是 A)Double B)short C)integer D)Char 7.在C语言中,不正确的int类型的常数是 A)32768 B)0 C)037 D)0xAF 8.在C语言中,合法的长整型常数是 A)0L B)4962710 C)0.054838743 D)2.1869e10 合法的C语言中,合法的字符型常数是 A)'\t' B)"A" C)65 D)A 9.在C语言中,合法的字符常量是 A)'\084' B)'\x43' C)'ab' D)"\0" 10.下列不正确的转义字符是 A)'\\' B)'\" C)'074' D)'\0' 11.若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为 A) float B) int C) char D) double 12.设x和y均为int 型变量,则以下语句:x=x+y;y=x-y;x=x-y;的功能是 A把x 和y按从大到小排列 B把x和y按从小到大排列 C无确定结果

C语言程序设计复习题

《C语言程序设计》复习题 一、判断题(本大题共60个小题) 1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 3.注释内容太多会影响程序的执行效率。 4.变量要“先定义,后使用”。 5.字符常量'a'与字符串常量"a"没有区别。 6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。 7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。 8.表达式5/2+5.0/2+7%6 的值为5.5。 9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。 10.设int a=12; 则表达式a/=a+a的值是0.5。 11.在C语言中,运算符!比&&的优先级高。 12.在C语言中,运算符的优先级最小的是逗号运算符。 13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。 14.以下程序运行结果是:1,7,0 void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15.该程序运行结果是:BCother void main()

{ char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); default: printf(“other”); } } 16.下面程序段运行时输出结果是a=2,b=8 void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17.下面程序,当输入为:"abc?" 时,执行结果是:abc void main() { char c; c=getchar(); while (c!='?' ) { putchar(c); c=getchar();} }

C语言程序设计的试题及答案

C语言程序设计的试题及答案 C语言程序设计的试题及答案C语言程序设计的试题及答案第一章基础知识 一、填空 1.每个C程序都必须有且仅有一个________函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数ain、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自

动化、管理信息系统、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.C语言是结构化、________的程序设计语言。 18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。

C语言程序设计作业2答案

第2次作业答案 一、单项选择题答案 1B 2B 3D 4C 5B 6B 7D 8D 9B 10C 11C 12B 13A 14C 15B 16B 17D 18A 19D 20B 一.单项选择题 1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a; 则值为5的表达式是()。 A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为() fun( ( a, b, c, d ), ( m, n ), (f, g ) ); A)1 B)3 C)4 D)2 3.函数形式正确的是()。 A) double myfun( int x, int y) B) int myfun( int x, y) { m=x+y; return m; } { int m; } C) int myfun( int x, int y) D) int myfun( int x, int y) { int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; } 4.不正确的字符串赋值或赋初值方式是()。 A)char *str; str=”string”; B)char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’} C) char str[10]; str=”string”; D)char str[]=”string”; str2[]=””; strcpy(str2, str1); 5.以下程序的输出结果是()。 #include main() { char str[]="SSSWLIA", c; int k; for (k=2; (c=str[k])!='\0'; k++) { switch (c) { case 'I': ++k; break; case 'L': continue; default: putchar(c); continue; } } putchar('*'); } A)SSW* B)SW* C)SW*A D)SW 6.以下程序的输出结果是()。 #include int w=3; fun( int k) { if ( k==0) return w; return ( fun(k -1 )*k); }

相关文档
相关文档 最新文档