北京交通大学C语言期末考试复习的资料共120页

合集下载

C语言期末复习.doc

C语言期末复习.doc

C语言期末复习.doc第一章C语言概述一、选择题1、C语言程序由什么组成()A、子程序B、主程序和子程序C、函数D、过程2、源程序要正确地运行,必须要有什么函数()A、Printf函数B、自定义的函数C、main函数D、不需要函数3、指出下面哪些是合法的标识符()A、3abB、intC、ABCD、a_3E、sum..aF、#abcG、_stu2H、abc f二、问答题1、C语言程序由哪几部分组成?C语言程序结构有什么特点?参考答案一、选择题1、C2、C二、问答题见教案第二章基本数据类型、运算符及表达式一、选择题1、C语言中的数据的基本类型包括()A、整型、实型、字符型和逻辑型B、整型、实型、字符型和结构体C、整型、实型、字符型和枚举型D、整型、实型、字符型和指针型2、在C语言中,不合法的int型常量是()A、32767B、0678C、0XABCD、32768L3、在C语言中,运算对象必须是整型数的运算符是()A、%B、\\C、%和\\D、**4、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()A、1B、2C、2.0D、2.55、若t为double类型,表达式t=1,t+5,t++的值就是()A、1B、6.0D、1.06、若有定义:int a=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为()A、9B、4C、3D、27、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____A、22B、264C、144D、-264二、问答题:1、简述‘a’和“a”的区别。

参考答案一、选择题1、C2、D3、A4、D5、D6、C7、D二、问答题‘a’是字符常量“a”是字符串常量C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。

C语言规定以字符’\\0’作为字符串结束标志。

如果有一个字符串”china”,实际上在内存中是占内存不是5个字节,而是6个字节,最后一个是’\\0’。

北京交通大学C语言课件复习题讲解

北京交通大学C语言课件复习题讲解

特殊情况中浮点误差积累可能更迅速。两个重要情况: 1)将一批小的数加到很大的数上,会导致丢掉小的数 的重要部分,甚至小数整个被丢掉; 2)两个值接近的数相减,可能导致精度大大下降
29
#include<stdio.h>/*Test Program*/ int main() {int i; float sumf=0.0; double sumd=0.0; for (i=1;i<=2000000;++i){ sumf+=1/(float)i;sumd+=1/(double)i; } printf("float:%dsterms at %14.10f\n",i-1,sumf); printf("double:%ds terms at %14.10f\n",i1,sumd); return 1; float和long double类 } 型应用在特殊场合 float: 2000000 terms at 15.3110322952 double: 2000000 terms at 15.0858736543
25
例2,艰难旅程(浮点误差)。乌龟要去环球。第1秒爬1米,第 2秒爬1/2米,第3秒爬1/3米,第4秒爬1/4米,…。问一小时能爬 出多远?爬20米需多少秒?
20米需要多少时间。写出下面函数: long scndsfun(float d) /*d为爬行距离*/ { long i; d=20 float x = 0.0; for (i = 1; x < d; ++i) x += 1/(float)i; return i - 1; }
19
完整程序2:两重for循环(只有主函数)

C语言期末复习文档.docx

C语言期末复习文档.docx

期末考试题型:程序设计基础题型举例•、选择题1、 C 语言规定:在一个源程序中,main 函数的位置—B ________ 。

A. 只能在程序头部;B.可以在程序任何位置;C.必须在#include ^Uttdefine 语句后面;D.只能在程序最后面。

2、 在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为_A_。

A. RUNB. FILEC. EDITD. OPTION 3、 下面标识符中止确的是—B _______ oA. $a#bB. sumC. 1A23BCD.Y ・M ・D 4、 在C 语言屮(以16位PC 机为例),存储一个整型、字符型、双精度实型变量 所需的字节数是 ____ C_0A.4、1、4B.4、1、4C.2、1、8D. 2、2、85、 下面的变量说明中 _____ B ________ 是止确的。

A. Char : a, b, c ;B ・ Char a, b, c ; C. Char a ; b ; c ; D. Char a, b, c6、判断char 型变量ch 是否为大写字母的止确表达式是—C ________C. (ch>=/A ,)&&(ch<=T)D. (W<= ch)AND(/Z ,>= ch) 7、已知int x=10,y=20,z=30;以下语句执行后x,y,z 的值是 ____ D _____ if(x>y) z=x; x=y; y=z; 、 选择题 30分二、 填空题或程序填空三、 判断题10分 四、 分析题20分 五、 编程题 20—20分 30分A. /A ,<=ch<=7,B. (ch>=W)&(ch<=T)A. x=10, y=20, z=30B. x=20, y=30, z=20C. x=20, y=30, z=10D. x=20, y=30, z=30int n=0;while(n++<=2);printf( “%d” z n);A. 2B. 3C.4D.死循环9、下面程序的功能是输岀如右图所示形式的金字塔图案。

C期末复习提纲答案.docx

C期末复习提纲答案.docx

《程序设计与C语言》期末复习提纲第一部分各章复习要求考试题型包括:选择题、填空题、程序填充题、写出程序的运行结果、指出程序的功能、改错题、编程题。

满分100分。

考试内容为课本中所有讲过的内容,下面给出本课程各部分的具体复习要求,供同学们进行期末复习时参考。

书中的例题、实验做过的程序一定要弄懂。

以下章节带*的为重点章节(内容),一定要重点复习。

一C语言概述本章重点掌握的内容1.函数的定义格式和作用,主函数的特殊地位和作用。

每个函数包含函数头和函数体两个部分,函数体就是由一对花括号括起来的复合语句,函数头就是函数体之前的部分。

2.对于C源程序文件名、编译后生成的目标文件名和连接后生成的可执行文件名,其系统给定的扩展名分别是什么?对于本章的其余内容均作一般了解。

二基本数据类型、运算符和表达式本章重点掌握的内容1.C基本数据类型的分类。

2.各种整数类型的关键字表示,存储空间的大小和值域范围。

3.整型变量的定义和初始化,十进制整型常量的表示。

4. 字符类型的关键字表示,存储空间的大小和值域范围。

5. 字符型变量的定义和初始化,字符型与整型的关系。

字符型变量的存储形式。

6. 各种实数类型的关键字表示,存储空间的大小和有效位数。

8. 实型变量的定义和初始化。

*9.算术运算符的表示,特别是自加++和自减- - 运算符的使用。

10.关系运算符的定义和关系表达式的计算。

11.逻辑运算符的定义与逻辑表达式的计算,系统给定的逻辑类型的定义,求任意表达式对应逻辑值的方法。

12.条件操作符和逗号操作符的含义及运算过程。

一般掌握的内容1.整型常量的八进制和十六进制表示。

2. 符号常量的初始化。

3. 复合赋值操作符的含义与使用。

4.不同数据类型之间的强制转换。

对于本章的其余内容均作一般了解。

三数据的输入输出本章重点掌握的内容1.字符型数据的输入输出格式。

getchar函数、putchar函数的使用。

2.格式化输入输出函数scanf()、printf() 的使用。

C语言期末复习必备资料

C语言期末复习必备资料

1、函数fun的功能是计算x^n。

double fun(double x,int n){int i; double y=1;for(i=1;i<=n;i++) y=y*x;return y;}主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算:m=a^4+b^4-(a+b)^3。

实现这一计算的函数调用语句为______。

答案: 1:fun(a,4)+fun(b,4)-fun((a+b),3)评析:函数fun的功能是计算x的n次方,所以a的4次方的调用函数应当为fun(a,4),b的4次方的调用函数应当为fun(b,4),(a+b)的3次方的调用函数应当为fun((a+b),3),所以,实现m=a^4+b^4-(a+b)^3这一计算的函数458调用语句为:fun(a,4)+fun(b,4)-fun((a+b),3);。

知识点:知识点/函数/破函数的正确调用,嵌套调用,递归调用2、以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。

请填空。

void sstrcpy(char *s,char *t){ while(*s++=______);}main(){ char str1[100],str2[]="abcdefgh";sstrcpy(str1,str2);printf("%s\n",str1);} 答案: 1:*t++评析:要使sstrcpy()函数实现字符串复制,必须将t字符串中的每个字符逐个拷到s字符串中,所以可以使用*s=*t;s++;t++。

或者可以写成*s++=*t++,本题只有一个空,可以填入*t++。

知识点:知识点/指针/用指针作函数参数3、以下程序给指针p分配三个double型动态内存单元,请填空。

#include <stdlib.h>main(){ double *p;p=(double*)malloc(______);p[0]=1.5; p[1]=2.5;p[2]=3.5;printf("%f%f%f\n",p[0],p[1],p[2]);} 答案: 1:3*sizeof(double)评析: malloc(size)在内存的动态存储区中分配一个长度为size的连续空间。

C语言期末考试全部知识点复习资料--重点--常考点-整理.doc

C语言期末考试全部知识点复习资料--重点--常考点-整理.doc

一般转义字符:背诵\0、\n 八进制转义字符: 十六进制转义字符:'\x6cl ,\b 将当前位置移到前一列\n 将当前位置移到下一行开头\t 跳到下一个TAB 位置 \\代表一个反斜线字符'’\,\〃代表一个双引号字符\0空字符(NULL )1. 程序屮基本的控制结构是三种:顺序结构、选择结构(分支结构)、循环结构。

2. 读程序都要从main ()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main 函数。

3. 计算机的数据在电脑中保存是以二进制的形式。

数据存放的位置就是它的地址。

4. bit 是位,是指为0或者1。

byte 是指字节,一个字节二八个位。

5. 编译预处理不是C 语言的一部分,不占运行时间,不要加分号。

(常考!)^define PI 3. 1415926; 这个写法是错误的,一定不能出现分号。

6. 每个C 语言程序中main 函数是有且只有一个。

7. 用C 语言编写的程序称为源程序,扩展名是.co C 程序必须经过编辑、编译、链接、运行四个步骤才可得到运行 结果。

注意.c 和.obj 文件时无法运行的,只有.exe 文件才可以运行。

(常考!)8. C 语言书写格式是自由的,每行可以写多个语句,一条语句也可以写在多行。

9. 一个C 语言程序有且只有一个main 函数,是程序运行的起点。

10. Cfree 、VC/VC++、CodeBlock 等是软件,用来运行写的C 语言程序。

(编译环境)11. 标识符(必考内容):合法的要求是由字母,数字,下划线组成。

并且第一个必须为字母或则是下划线。

第一个为数字就错了12. 标识符分为关键字、预定义标识符、用户标识符。

关键字:不可以作为用户标识符号。

main 、define 、scanf> printf 都不是关键字。

迷惑你的地方是If 、Main 等可以做为用户标识符。

If 、Main 中的第一个字母大写预定义标识符:如define 、scanfs printf> include 。

C语言期末考试题库(第一章c语言基.doc

C语言期末考试题库(第一章c语言基.doc

一、单项选择1.算术运算符 ,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为 ().A、关系运算 ,赋值运算 ,算术运算B、算术运算 ,关系运算 ,赋值运算C、算术运算 ,赋值运算 ,关系运算D、关系运算 ,算术运算 ,赋值运算答案: B2.下述正确的 C语言常量是 :().A、E2B、3e-3C、1.5E2.5D、5.0E答案: B3.使用共用体变量 ,不可以 ().A、进行动态管理B、节省存储空间C、同时访问所有成员D、简化程序设计答案: C4.为表示关系 x>=y>=z,应使用 C语言表达式为 :()A、(x>=y)&(y>=z)B、(x>=y>=z)C、(x>=y)&&(y>=z)D、(x>=y)AND(y>=z)答案: C5.以下程序的输出结果是().main(){char str[]="ABCD",*p=str;printf("%s\n",p);}A、68B、ABCDC、不确定的值D、字符 D 的地址答案: B6.char a[10];不能将字符串 "abc"存储在数组中的是 ().A、a="abc";B、a[0]=0;strcat(a,"abc");C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;D、strcpy(a,"abc");答案: A7.fscanf 函数的正确调用形式是 ().A、fscanf(文件指针 ,格式字符串 ,输入表列 );B、fscanf(格式字符串 ,文件指针 ,输出表列 );C、fscanf(fp,格式字符串 ,输出表列 );D、fscanf(格式字符串 ,输出表列 ,fp);答案: A8.下列数组说明中正确的是().A、int array[][]={1,2,3,4,5,6,7,8,9,10};B、int array[][][5]={1,2,3,4,5,6,7,8,9,10};C、int array[][4]={1,2,3,4,5,6,7,8,9,10};D、int array[3][]={1,2,3,4,5,6,7,8,9,10};答案: C9.以下选项中 ,与 k=n++完全等价的表达式是 ().A、n=n+1,k=nB、k+=n+1C、k=++nD、k=n,n=n+1答案: D10.针对下列程序段回答问题().for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}A、printf 函数永远也不执行B、当 x<0 时整个循环结束C、x>=0 时什么也不输出D、最多允许输出100 个非负整数答案: D11.以下正确的字符串常量是()A、"\\\"B、'A'C、'abc'D、OlympicGames答案: A12.如下说法不正确的是 ().A、若 a 为真 b 为假 ,则 a||b 为真B、若 a 为真 b 为假 ,则 a&&b 为假C、若 a 为真 b 为假 ,则! a-1&&b 为真D、若 a 为真 ,则! a 为假答案: C13.C 语言中 ,用于结构化程序设计的三种基本结构是().A、for,while ,do-whileB、顺序结构 ,选择结构 ,循环结构C、if,switch,breakD、if,for,continue答案: B14.若有以下的定义 :int t[3][2]; 能正确表示 t 数组元素地址的表达式是().A、t[3]B、t[2]C、&t[3][2]D、&t[1]答案: B15.下列运算符中优先级最高的是().A、<B、&&C、+D、!=答案: C16.C 语言程序中 ,必须有的函数是 ().A、main()B、#include"stdio.h"C、scanfD、printf答案: A17.已定义 char a[10];和 char *p=a;,下面的赋值语句中正确的是 ().A、*p="Turbo c";B、p="Turbo c";C、a[10]="Turbo c";D、a="Turbo c";答案: B18.以下叙述正确的是 ().A、可以把 if 定义为用户标识符 ,但不能把 define 定义为用户标识符B、define 和 if 都不能定义为用户标识符C、可以把 define 和 if 定义为用户标识符D、可以把 define 定义为用户标识符 ,但不能把 if 定义为用户标识符答案: D 19.若已定义 x 为 int 类型变量 ,下列语句中 ,说明指针变量 p 的正确语句是 (). A、*p=*x;B、int *p=x;C、int *p=&x;D、int p=&x;答案: C20.以下叙述中 ,正确的是 ().A、花括号 "{" 和"}"只能作为函数体的定界符B、构成 C 程序的基本单位是函数 ,所有函数名都可以由用户命名C、分号是 C 语句之间的分隔符 ,不是语句的一部分D、C 程序中 ,注释部分可以出现在程序中,任意合适的地方答案: D21.以下能对二维数组 a 进行正确初始化的语句是().A、int a[][3]={{1,2,3},{4,5,6}};B、int a[2][]={{1,0,1},{5,2,3}};C、int a[2][4]={{1,2,3},{4,5},{6}};D、int a[][3]={{1,0,1}{},{1,1}};答案: A22.C 语言中 ,double 类型数据占 ().A、8 个字节B、4 个字节C、2 个字节D、1 个字节答案: A23.经过下列的语句 int j,a[10],*p= a;定义后 ,下列语句中 ,合法的是 ().A、p=a[5];B、p=a[2]+2;C、p=p+2;D、p=&(j+2);答案: C24.定义 char s[10],*p=s;,则下面编译不能通过的语句是().A、s=p+s;B、s[2]=p[4];C、p=s+5;D、*p=s[0];答案: A25.以下函数调用语句中 ,实参的个数是 ().exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6答案: A26.若 x=2,y=3,则 x||y 的结果是 ()A、0B、3C、2D、1答案: D27.已知 x=43,ch='A',y=0;,则表达式 (x>=y&&ch<'B'&&!y)的值是 ().A、"假"B、语法错C、0D、1答案: D28.下面四个选项中均是不合法的浮点数的选项是().A、-e3.234 1e3B、123 2e4.2.e5C、-.18 123e4 0.0D、160.0.12 e3答案: B29.以下函数调用语句中 ,实参的个数是 ().fun c((e1,e2),(e3,e4,e5));A、3B、5C、语法错误D、2答案: D30.已定义 :float x=1.25,y=3.37;根据下面的输出结果 ,正确的输出语句是 (). y+x=4.62,y-x=2.12A、printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);C、printf("y+x=%6f,y=%6f\n",y+x,y-x);D、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);答案: A31.执行下面程序段后 ,ch 的值是 ().char ch='a';ch=(ch>='A'&&ch<='Z')?(ch+32):ch;A、AB、zC、ZD、a答案: D32.在 C 语言的函数中 ,下列正确的说法是 ().A、数组名不能作形参B、可以有也可以没有形参C、形参必须是变量名D、必须有形参答案: B33.以下正确的描述是 ().A、在循环中 ,break 语句不能独立出现B、只能用 continue 语句来终止本次循环C、goto 语句只能用于退出多层循环D、switch 语句中 ,不能出现 continue 语句答案: B34.C 语言中 ,运算对象必须是整型的运算符是().A、〈 =B、%=C、=D、/答案: B35.下面不正确的字符串常量是().A、"0"B、""C、"12'12"D、'abc'答案: D36.fwrite 函数的一般调用形式是 ().A、fwrite(buffer,count,size,fp);B、fwrite(fp,count,size,buffer);C、fwrite(fp,size,count,buffer);D、fwrite(buffer,size,count,fp);答案: D37.以下定义语句中错误的是().A、int a[]={1,2};B、int n=5,a[n];C、char *a[3];D、char s[10]="test";答案: B38.下列正确的标识符是 ().A、%yB、a+bC、6aD、_do答案: D39.C 语言源程序的基本单位是().A、子程序B、过程C、标识符D、函数答案: D40.若变量已正确定义 ,执行语句 scanf("%d,%d,%d",&k1,&k2,&k3);时,()是正确的输入A、20 30 40B、2030,40C、20,30,40D、20,30 40答案: C41.设有如下程序 ,请选择正确答案 ().#include<stdio.h>main(){int **k,*j,i=100;j=&i,k=&j;printf("%d\n",**k);}A、100B、i 的地址C、j 的地址D、运行错误答案: A42.若定义 :int a=511,*b=&a;,则 printf("%d\n",*b); 的输出结果为 ().A、a 的地址B、无确定值C、511D、512答案: C43.以下叙述中 ,不正确的是 ().A、C程序中的 #include 和#define 均不是 C 语句B、在 C 程序中 ,赋值运算符的优先级最低C、在 C程序中 ,j++;是一条赋值语句D、一个好的程序应该有详尽的注释答案: B44.下面叙述中错误的是 ().A、若一个函数没有return 语句 ,则什么值也不会返回B、一般来说 ,函数的形参和实参的类型要一致C、函数的形式参数 ,在函数未被调用时就不被分配存储空间D、若函数的定义出现在主调函数之前,则可以不必再加说明答案: A45.设有如下程序段 :int k=10;while(k==0)k--;,则下述说明中正确的是 ().A、循环体执行一次B、死循环C、循环体一次也不执行D、循环体执行10 次答案: C46.表示关系 x>0 且 y<=10 的 C 语言表达式为 ().A、(x<=0)AND(y<=10)B、(x>0)&&(y<=10)C、x>0,y<=10D、(x<=0)&(y<=10)答案: B47.以下叙述不正确的是 ().A、C程序的基本组成单位是函数B、在 C 程序中 ,注释说明只能位于一条语句的后面C、一个 C源程序可由一个或多个函数组成D、一个 C 源程序必须包含一个main()函数答案: B48.C 语言提供的合法的数据类型关键字是().A、floatB、unsignedC、charD、int eger答案: B49.所有变量均为整型 ,则表达式 (a=2,b=5,b++,a+b)的值是 :().A、6B、7C、8D、2答案: C50.以下符合 C语言语法的赋值表达式是().A、d=9+e+f=d+9B、d=9+e,e++,d+9C、d=9+eD、d=9+e++=d+7答案: C51.下面对函数的叙述 ,正确的是 ().A、函数中无论是否有return 语句 ,都能返回正确值B、函数中没有 return 语句 ,说明不带回值C、函数不能嵌套定义D、函数的返回值是通过return 语句获得的答案: C52.整型变量 x=1,y=3,经下列计算后 ,x 的值不等于 6 的是 ().A、x=(x=1+2,x*2)B、x=9-(--y)-(--y)C、D、x=y>2?6:5答案: B53.设 x,y,z,t 均为整型变量 ,则执行以下语句后 ,t 的值为 :() x=y=z=1;t=++x||++y&&++z;B、不定值C、2D、0答案: A54.下列字符序列中不可用作 C 语言标识符的是 ().A、a_1B、#abC、symbolD、b70答案: B55.C 语言执行程序的开始执行点是().A、包含文件中的第一个函数B、程序中 ,第一个函数C、程序中的 main()函数D、程序中 ,第一条可以执行语言答案: C56.下列运算符优先级最低的是().A、&&B、+C、=答案: C57.下面所列的语句行中能正确进行赋字符串操作的语句行是 ().A、char st[4][5]={"ABCDE"};B、char s[5]={'A','B','C','D','E'};C、char *s;scanf("%c",s);D、char *s;s="ABCDE";答案: D58.以下正确的函数定义形式是().A、double fun(int x,int y)B、double fun(int x;int y)C、double fun(int x,y);D、double fun(int x,int y);答案: A59.下列变量中合法的是 ().A、$ABCB、B.C.TomC、3a6bD、_6a7b答案: D60.以下标识符中可以作为用户函数名的是().A、unionB、intC、structD、go_to答案: D61.判断两个字符串是否相等,正确的表达方式是 ().A、while(strcmp(s1,s2)=0)B、while(strcmp(s1,s2)==0)C、while(s1==s2)D、while(s1=s2)答案: B62.下面各语句中能正确进行赋字符串操作的语句是().A、char st[][]={"ABCDE"};B、char s2[6]={'A','B','C','D','E'};C、char s1[5][]={"ABCDE"};D、char s[5]={'A','B','C','D','E'};答案: B63.下列数据中属于 "字符串常量 "的是 ().A、'ABC'B、ABCC、"ABC"D、'A'答案: C64.C 语言中的文件的存储方式有().A、可以顺序存取 ,也可随机存取B、只能随机存取 (或直接存取 )C、只能顺序存取D、只能从文件的开头进行存取答案: A65.putchar 函数可以向终端输出一个().A、字符或字符型变量值B、整型变量表达式值C、实型变量值D、字符串答案: A66.下面叙述中正确的是 ().A、声明函数时必须明确其参数类型和返回类型B、函数可以返回一个值,也可以什么值也不返回C、空函数在不完成任何操作,所以在程序设计中没有用处D、对于用户自己定义的函数,在使用前必须加以声明答案: B67.以下标识符中不能作为合法的 C 用户定义标识符的是 ().A、_123B、voidC、ifD、a3_b3答案: B68.将字符串 Turbo 赋给字符数组 word,则下面错误的说明语句是 ().A、char word[]={"Turbo\0"};B、char word[]="Turbo\0";C、char word[]={'T','u','r','b','o','\0'};D、char word[]='Turbo\0';答案: D69.用下面的 scanf 函数输入数据 ,使得 i=10,j=15,选择正确的键盘输入方法:().(用[CR]表示回车 )main(){int i,j;scanf("i=%d,j=%d",&i,&j);}A、i=10,j=15[CR]B、i=10Uj=15[CR]C、10U15[CR]D、10,15[CR]答案: A70.跳过当前循环体内容 ,继续执行下一次循环的语句是()A、continue 语句B、return 语句C、break 语句D、空语句答案: A71.设有以下定义 :int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=a;,则数值为 6 的表达式是 ().A、p+5B、*p+6C、*p+=5D、*(p+6)答案: C72.以下程序段执行后输出的结果是().char str[]="ABCD",*p=str;printf("%d\n",*(p+4));A、不确定的值B、字符 'D'的地址C、68D、0答案: D73.用下面的 scanf 函数输入数据 ,使得 i=10,k=15 选择正确的键盘输入方法(). (用"[CR]"表示回车 ,U 表示空格 )main(){int i,k;scanf("i=%d,k=%d",&i,&k);}A、10U15[CR]B、i=10,k=15[CR]C、i=10[CR]k=15[CR]D、10,15[CR]答案: B74.设有如下的程序段 :char str[]="Hello";char *ptr;ptr=str;执行完上面的程序段后,*(ptr+5) 的值为 ().A、'\0'B、'o'C、'o'的地址D、不确定的值答案: A75.定义 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,其中 ,0 ≤ i ≤则对9, a 数组元素的引用不正确的是 ().A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))答案: D76.以下字符中 ,不是转义字符的是 ().A、'\b'B、'\\'C、'\c'D、'\a'答案: C77.设 a 为整型变量 ,不能正确表达数学关系10<a<15的 C 语言表达式是 :()A、10<a<15B、!(a<=10)&&!(a>=15)C、a>10&&a<15D、a==11||a==12||a==13||a==14答案: A78.在 C 语言中 ,存储类型为 ()的变量只在使用它们时才占用存储空间 .A、static 和 autoB、register 和 autoC、register 和 externD、static 和 register答案: B79.已知键盘输入a=4,b=3,下面程序输出的结果是().main(){int a,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A、13B、9C、16D、1580.若要用 fopen 函数打开一个新的二进制文件,该文件要既能读也能写 ,则文件方式字符串应是().A、"ab"B、"wb+"C、"rb+"D、"ab++"答案: B81.设有如下说明和语句 ,请选出哪个是对 c 数组元素的正确引用 ().intc[4][5],(*cp)[5];cp=c;A、*(*cp+2)B、*(cp+3)C、cp+1D、*(cp+1)+3答案: A82.以下标识符中不能作为合法的 C 用户定义标识符的是 ().A、forB、printfC、sizeofD、WORD83.在定义构造数据类型时,不能 ().A、末尾不写分号B、说明变量C、初始化D、说明存储类型答案: A84.以下叙述中 ,错误的是 ().A、用户所定义的标识符应尽量做到"见名知意 "B、用户所定义的标识符必须以字母或下划线开头C、用户所定义的标识符允许使用关键字D、用户定义的标识符中,大,小写字母代表不同标识答案: C85.选择正确的输入语句 ().:(其中 :char string[20];)使得 string 的内容为 "Iam student".A、scanf("%s",string);B、scanf("%c",&string);C、scanf("%s",&string);D、gets(string);答案: D86.以下选项中 ,合法的实型常数是 ().A、.2E0B、1.3EC、E-3D、5E2.0答案: A87.若 int a=2,则执行完表达式 a -=a+=a*a后,a 的值是 ().A、-4B、0C、-8D、-2答案: B88.设 a,b 和 c 都是 int 型变量 ,且 a=3,b=4,c=5,下面表达式中值为0 的表达式是().A、a<=bB、'a'&&'b'C、!((a<b)&&!c||1)D、a||b+a&&b-c答案: C89.定义 char b[5],*p=b;, 则能正确赋值的语句是 ().A、*p="abcd";B、p="abcd";C、*b="abcd";D、b="abcd";答案: B90.能正确表示 a>=10 或 a<=0 的关系表达式是 :()A、a>=10||a<=0B、A>=10 or a<=0C、a>=10&a<=0D、a>=10|a<=0答案: A91.设有如下定义 :struct sk{int a;float b;}data,*p;若要使 p 指向 data 中的 a 域,正确的赋值语句是 ().A、p=(struct sk*)data.a;B、p=&data.a;C、*p=data.a;D、p=(struct sk*)&data.a;答案: D92.若变量已正确定义且k 的值是 4,计算表达式 (j=4,k--)后,j 和 k 的值为 ().A、j=3,k=3B、j=3,k=4C、j=4,k=4D、j=4,k=3答案: D93.当说明一个结构体变量时系统分配给它的内存是().A、结构中 ,第一个成员所需内存量B、成员中 ,占内存量最大者所需的容量C、结构中 ,最后一个成员所需内存量D、各成员所需内存量的总和答案: D94.int(*p)[6]; 它的含义为 ().A、具有 6 个元素的一维数组B、定义了一个指向具有 6 个元素的一维数组的指针变量C、指向整型指针变量D、指向 6 个整数中的一个的地址答案: B95.若有说明语句 :char c='\72';,则变量 c().A、包含 1 个字符B、说明不合法 ,c 的值不确定C、包含 2 个字符D、包含 3 个字符答案: A96.以下表述中正确的是 ().A、do-while 循环中 while 语句不能省略B、在 do-while 循环中 while 表达式的值不能为 " 假"C、除了 for 循环 ,其他循环中都不能使用复合语句D、do-while 循环中 while(表达式 )后面不能加分号答案: A97.能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是:()A、(a+b>0)&&(a+b<=0)B、(a>=0||b>=0)&&(a<0||b<0)C、a*b>0D、(a>=0&&b>=0)&&(a<0&&b<0)答案: C98.下面错误的说明语句是().A、int(*a)[10];B、int a[][];C、int a['a'];D、int *a[10];答案: B99.已知字符 'A'的 ASCⅡ代码值是 65,字符变量 c1 的值是 'A',c2 的值是 'D'.执行语句 printf("%d,%d",c1,c2-2);后,输出结果是 ().A、65,66B、A,BC、A,68D、65,68答案: A100.在 C语言中 ,要求参加运算的数必须是整数的运算符是:().A、/B、!C、==D、%答案: D101.已定义 :float x=1.25,y=3.37;根据下面的输出结果 ,正确的输出语句是 ().x=1.250000,y=3.370000A、printf("x=%f,y=%f\n",x,y);B、printf("x=%8.2f,y=%8.2f",x,y);C、printf("x=%7f,y=%7f\n",x,y);D、printf("x=%-8.2f,y=%-8.2f\n",x,y);答案: A102.应用缓冲文件系统对文件进行读写操作 ,关闭文件的函数名为 ().A、fread()B、fwriteC、fclose()D、close()答案: C103.若有以下说明 ,则对结构体变量 stud1 中成员 age的不正确引用是().struct student{int age;int num;}stud1,*p;p=&stud1;A、(*p).ageB、student.ageC、p->ageD、stud1.age答案: B104.C语言中 ,以下几种运算符的优先次序()的排列是正确的 .A、由高到低为 :算术运算符 ,关系运算符 ,!,&&,||, 赋值运算符B、由高到低为 :算术运算符 ,关系运算符 ,赋值运算符 ,!,&&,||C、由高到低为 :!,算术运算符 ,关系运算符 ,&&,||, 赋值运算符D、由高到低为 :!,&&,||, 算术运算符 ,赋值运算符答案: C105.以下程序的输出结果是 ().main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A、3B、1C、2D、4答案: A106.在 C语言中 ,char 型数据在内存中的存储形式是().A、补码B、ASCII码C、反码D、原码答案: B。

2022年北京交通大学公共课《C语言》科目期末试卷B(有答案)

2022年北京交通大学公共课《C语言》科目期末试卷B(有答案)

2022年北京交通大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。

例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。

请填空。

_______;a=b;b=c;_______;2、C语言的源程序必须通过【】和【】后,才能被计算机执行。

3、C语言源程序的基本单位是________4、在C语言中,用“\”开头的字符序列称为转义字符。

转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。

5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。

7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。

9、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。

10、下面程序段的运行结果是_______。

char*p="PDP1-0";int i,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}二、选择题11、已知各变量的类型说明如下:inti=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下正确的表达式是( )。

2022年北京交通大学公共课《C语言》科目期末试卷A(有答案)

2022年北京交通大学公共课《C语言》科目期末试卷A(有答案)

2022年北京交通大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言的赋值表达式中,赋值号左边必须是_______5、表达式x=6应当读做_______6、下面程序可求出图中方括号内的元素之积,请填空。

# include<stdio.h>int main(){ int x[3][3]={7,2,1,3,4,8,9,2,6};int s,*p;p=_______;s=*p*_______;printf("product=%d",s);return(0);}7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。

例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。

请填空。

_______;a=b;b=c;_______;9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。

#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}10、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。

C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言程序设计期末考试复习题及答案(答案与题目分离)

A)称为函数的直接递归调用
B)称为函数的间接递归调用
C)称为函数的循环调用
D)C 语言中不允许这样的递归调用
6.以下叙述中正确的是
A)局部变量说明为 static 存储类,其生存期将得到延长
B)全局变量说明为 static 存储类,其作用域将被扩大
C)任何存储类的变量在未赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局部变量完全相同
7.若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);
int num[N];
int num[N];
12.以下能正确定义数组并正确赋初值的语句是
A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},
{34}};
13.有以下程序
sum=sum+i; i++; } printf(“%d”,sum); } 程序的运行结果是: (3) #include<stdio.h> main() { char str[ ]=”1a2b3c”; int i; for(i=0;str[i]!=’\0’;i++) if (str[i]>=’0’ && str[i]<=’9’) printf(“%c”,str[i]); } 程序的运行结果是: (4) main() { int a,b; a=5;

C语言期末考试复习题及答案完整可编辑版

C语言期末考试复习题及答案完整可编辑版

C语言期末考试复习题及答案一、选择题:以下各题A〕、B〕、C〕、D〕四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上。

答在试卷上不得分。

(1〕C语言规定:在一个源程序中,main函数的位置 D 。

A〕必须在最后B〕必须在系统调用的库函数的后面。

C〕必须在最开场。

D〕可以任意(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。

A〕必须为字母或下划线。

B〕必须为下划线。

C〕必须为字母D〕可以是字母、数字和下划线中的任一种字符。

(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是B 。

A〕-10 0x8f -011 B) 010 -0x11 0xf1C) 0abc -017 0xc D) 0a12 -0x123 -0xa(4) C语言中int型数据在内存中占两个字节,那么unsegned int取值范围是 A 。

A〕0 ~ 65535 B〕0 ~ 32767C〕-32767 ~ 32768 D〕-32768 ~ 327687(5) 假设有定义:int a = 7; floa x = 2.5 , y = 4.7 ;那么表达式 x + a % 3 * (int) (x + y) % 2/4 的值是D 。

A) 2.750000 B) 0.00000 C) 3.500000 D) 2.500000(6)ch是字符型变量,下面不正确的赋值语句是 B 。

A〕ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ;(7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 那么下面表达式中值为0的是 A 。

A〕!((x < y )&&!z || 1) B) ' x ' && ' y ' C) x || y+z && y - z D)x <= y(8〕设有程序段int k = 10 ;while ( k = 0 ) k = k - 1 ;以下描述正确的选项是 A 。

北交大C语言期末试题 C-08-09-2试题

北交大C语言期末试题 C-08-09-2试题

北京交通大学2008 ―2009 学年第二学期期末考试试题课程名称: C语言程序设计出题教师: __课程组___ 专业:_________ 班级:____________ 姓名:____________ 学号:_____________------------------------------------------------------------- 答题说明:要求所有解答均写在答题卡上,否则无效。

一、选择题(每题1分,共20分)1.设整型变量a为7,使b不为3的表达式是()。

A.b=a/2 B.b=9-(- -a)C.b=a%2 D.b=a>3?3:12.设int x=1,y=1;表达式(!x++ || y--)的值是( )。

A.0 B.1 C.2 D.-13.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是()。

A.&a[2] B.7 C.4 D.14.C语言中以追加方式打开一个文件应选择()参数。

A.“r”B.”w”C.“rb”D.“a”5.从循环体内某一层跳出,继续执行循环外的语句是:()。

A.break语句B.return语句C.continue语句D.空语句6.若变量c为char类型,能正确判断出c为数字的表达式是()。

A.‘0’<=c<=‘9’B.(c>=‘0’) || (c<=‘9’)C.(‘0’<=c) and (‘9’>=c)D.(c>=‘0’) && (c<=‘9’) 7.选出下列标识符中不是合法的标识符的是()。

A.hot_do B.cat1 C._pri D.2ab8.以下说法中正确的是()。

A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分9.若有int a[10] , *p ; p=a ;,则()是对数组元素的正确的引用。

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)------------------------------------------作者------------------------------------------日期一、单项选择题.( ✌ )是构成 语言程序的基本单位。

✌、函数 、过程 、子程序 、子例程. 语言程序从  开始执行。

✌✆ 程序中第一条可执行语句∙∙∙ ✆ 程序中第一个函数∙∙∙✆ 程序中的❍♋♓⏹函数∙∙∙∙∙∙∙∙∙ ✆ 包含文件中的第一个函数、以下说法中正确的是( )。

✌、 语言程序总是从第一个定义的函数开始执行、在 语言程序中,要调用的函数必须在❍♋♓⏹☎ ✆函数中定义、 语言程序总是从❍♋♓⏹☎ ✆函数开始执行、 语言程序中的❍♋♓⏹☎ ✆函数必须放在程序的开始部分下列关于 语言的说法错误的是( ) 。

✌✆ 程序的工作过程是编辑、编译、连接、运行✆ 语言不区分大小写。

✆ 程序的三种基本结构是顺序、选择、循环✆ 程序从❍♋♓⏹函数开始执行下列正确的标识符是( )。

✌♋ ♋☯♓ ♋♉♓ ♓⏹♦ ♦❞题为相同类型题考点:标识符的命名规则( )只能由字母、数字、下划线构成( )数字不能作为标识符的开头( )关键字不能作为标识符选项✌中的❽❾ ,选项 中❽☯❾与❽❾不满足( );选项 中的♓⏹♦为关键字,不满足( ).下列 语言用户标识符中合法的是(  )。

✌✆♋⌧ ✆⌧ ✆♍♋♦♏ ✆♏ ☜✆◆⏹♓☐⏹选项✌中的标识符以数字开头不满足( );选项 ,☜均为为关键字,不满足( );选项 中的❽❾不满足( );.下列四组选项中,正确的 语言标识符是( )。

✌) ⌧ ) ♋♌ )♋ ) ( )、下列四组字符串中都可以用作 语言程序中的标识符的是( ✌ )。

✌、☐❒♓⏹♦ ♉♎ ♎♌ ♋♍ 、✋♋❍ ☐⏹♏♉♒♋●♐ ♦♦♋❒♦♓♦ ☐♋♓、♦♦❒♉ ☐☐ ☐☐♦ ♦♒♓●♏ 、⌧❑ ⍓♌☐☐ ●♓⏹♏✁ ☟♓♦♋♑♏选项 中的❽❾,❾❾ ,选项 中❽❾,❾✁❾,❾❾,❾❾不满足( );选项 中的♦♒♓●♏为关键字,不满足( )语言中的简单数据类型包括( )。

C语言期末复习题库_图文.docx

C语言期末复习题库_图文.docx

第1章程序设计及C语言概述一、单选题1)一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错谋的是()。

A)有零个或多个输入B)冇零个或多个输岀C)有穷性D) nJ行性2)以下叙述屮正确的是()。

A)C语言的源程序不必通过编译就可以直接运行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C语言源程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译3)用C语言编写的代码程序()。

A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行4)结构化程序由三种基本结构组成,三种基本结构组成的算法OoA)可以完成任何复杂的任务B)只能完成部分复杂的任务C)只能完成符合结构化的任务D)只能完成一些简单的任务5)以下叙述屮正确的是()。

A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没冇输入但必须要冇输i'llD)用C程序实现的算法可以既没有输入也没有输岀第2章C语言基础一、单选题1)假设在程序中a, b, c均被定义成整型,并R已赋大于1的值,则下列能正确表示代数式丄的表达式是()。

abcA)l/a*b*c B) l/(a*b*c)C) l/a/b/(float)c D) 1.0/a/b/c2)以下能正确定义且赋初值的语句是()A)int nl=n2=10; B) char c=32;C) floatf=fbl.l; D) doublex=12.3E2.5;3)以下不能定义为用户标识符的是()A)scanf B) Void C) _3com_ D) int4)设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32+z)后,x 的值为()A) 4 B) 16 C) 48 D) 325)设有intx=ll,则表达式(x++ *1/3)的值是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档