等级考试C语言复习.doc
《等级考试C语言复习.doc》由会员分享,可在线阅读,更多相关《等级考试C语言复习.doc(89页珍藏版)》请在咨信网上搜索。
C语言复习提纲 第一章 1.程序设计语言:机器语言、汇编语言、高级语言。 2.高级语言翻译成机器语言的两种方式:编译方式、解释方式。 3.算法+数据结构=程序 4.结构化程序设计的三种基本结构:顺序结构、分支(选择)结构、循环结构 5.算法的表示方法:自然语言、传统的程序流程图、N-S流程图。 6.结构化程序设计的32字原则: 7.C语言的产生及发展:UNIX操作系统 8.C语言的特点P13页: 9.C语言由函数组成,有且仅有一个main函数。 10.函数:说明部分、函数体。 11.一条复杂语句分行书写,用反斜杠(\)续行。 12.注释用/*……*/ 第二章 1.单字符输入/出:getchar()、putchar(字符变量)。 2.字符串:gets(字符数组名)、puts(数组名)。 3..格式化输入: scanf(“格式控制符”,地址列表); 格式控制符:%c、 %d 、 %o 、 %x、 %s、 %f u 若输入long型、double型应加l,如%ld、 %lo、 %lf u 格式%s输入字符串不包含空格,且对应地址表列是字符数组名。 u 默认分隔符:空格、回车、Tab键(也可按域宽截取) u 格式控制符间不宜加其它字符,如加入其它字符,输入时应原样输入,否则数据接收错误。如:scanf(“%d, %d”,&a,&b); 输入数据时两数据间要有逗号;scanf(“%d %d”,&a,&b); %d间有两个空格,则输入数据时至少有两个空格。 u 输入函数中%f格式不能带小数,如:scanf(“%7.2f”,&a)是错误的。 u %c格式输入单字符,空格字符和转义字符都作为有效字符接收。 u %*d表示跳过它对应的输入数据。 4..格式化输出:printf(“格式控制符”,输出列表); u 格式控制符部分可加入其它字符,原样输出。如:提示语或使输出结果清楚显示 u 输出列表:可以是变量、常量、表达式、函数调用等。 u 转义字符:P19页,以斜杠(\)开始,作为一个字符,如求字符串长度:“jk\\gk\bl\0k\nlj”,长度为7。 u 注意:输出 long 、double型数据,用%ld、%lf u 可设定输出宽度,m和n,如:%5d、%6.2f、%.2f u 负号表示域内向左对齐,如:%-12d 第三章 1.常量: u 整型常量:235、0235、-0x235(前可加负号),长整型:-12l、-065l、0x55l等。 u 实型常量:小数形式、指数形式。 u 字符常量:用单引号,如‘c’(注意转义字符)。 u 字符串常量:用双引号,如“hglhg”、“a”,内存占用为实际长度加1。 u 符号常量:无参宏(#define)。 2.变量: u 标识符命名规则:4条(P37页)。 u 各种类型变量的长度。 u 数据类型转换:自动、强制。 u 注:强制类型转换只得到所需类型的结果值,原变量或表达式的类型仍为原类型。如(float)(x+y) 3.各种运算符运算规则及其优先级P51页。 4.补充---逻辑表达式的优化运算: u &&运算:只要算出第一个表达式为0,第二个表达式不再运算。 u ||运算:只要算出第一个表达式为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.数组中的两种排序方法: u 冒泡法:外循环为i=0;i<n-1;内循环为j=0;j<n-1-i;循环中比较a[j]和a[j+1]两个元素,并互换。(考试内容) u 选择法:外循环为i=0;i<n-1;内循环为j=i;j<n;内循环开始前,先赋初值min=i;循环中比较a[min]和a[j]两个元素,不互换,只让min=j;内循环结束后再进行互换, a[i]和a[min]互换。(不做考试内容,但是希望同学们记住这种好的排序方法) 7.二维数组:按行存放;赋初值的5种情况P83页。 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.声明:函数定义在前,使用在后,可省略函数声明,反之需要在使用前声明。函数声明的几种变通形式。 u 函数声明后加分号,而函数定义后没有分号。 3.函数调用:函数名(实参表); u 实参与形参个数、类型、位置一致。 u 形参与实参占据不同的存储单元;形参只在函数调用时才为其分配存储单元,函数调用结束后释放。 u 实参与形参之间是传值调用,单向传递关系,形参值改变,不会影响实参值。 u 补充:函数可嵌套调用,不可嵌套定义。 u 嵌套调用:一个函数内部又调用另外一个函数。 u 递归调用:一个函数调用它自身。(考试不作要求) 4.数组作为函数参数:void func(int a[],int n); u 传递的是实参数组的首地址。调用时实参是数组名,如func(a,10); 5.多维数组: void func(int a[][5],int n);(可省略第一维,但不能省略其它高维)。 6.从作用域角度,变量分为:全局变量、局部变量。 u 局部变量:在函数内部定义,只能在该函数中使用,包括函数的形参和复合语句中定义的变量,main函数中定义的变量也是局部变量,不能被其它函数使用。 u 不同函数内定义的同名变量,互不影响,因其作用域不同,内存空间独立。 u 全局变量:在函数外部定义,作用域从定义开始到本文件结束。其间的所有函数都可以使用它,可在各函数间传递值,但容易带来副作用,降低模块独立性。 7.变量的存储类别:auto、static、register、extern。 8.局部变量的存储类别: auto、static、register。 u auto型的生存周期时函数被调期间,两次调用之间不保留值。 void func(int n) { static int a=1; a+=n; printf(“%d,”,a); } main() { int b=2; func(b); func(b); } 程序运行结果为3,5, u static型的生存期是整个程序运行期间,保留上一次调用后的值,且只赋一次初值(在程序运行前初始化,默认初值为0)。如: 9.全局变量的存储类别: static、extern。 u 全局变量总是存放在静态存储区间,生存期是整个程序运行期间,只赋一次初值,在程序运行前初始化,默认初值为0。 u 用extern对全局变量加以声明,可以将其作用域扩充到整个文件或其它文件。例:P113页、P114页。 u 定义全局变量时加上static,可将其作用域限制在本文件中,不能被其它文件使用。例:P114页。 10.函数的作用域是全局的,可被其它函数调用。 u 函数存储类别:static、extern。默认为extern型。 #define SQR(x) x*x main( ) { int a,k=3; a=++SQR(k+1); printf("%d\n",a); } 替换后的表达是为a=++k+1*k+1 结果为9 u 如:static int func(int a);则函数不被其它文件使用,所以两文件中的同名静态函数,互不干扰。 第七章(内容不作期末考试要求,但是等级考试要考) 1. 预处理命令以“#”开头,末尾不加分号。在程序编译之前处理。 2. 2.宏替换:将函数中出现宏名的地方用宏体进行替换。 u 宏体可以是数字、也可以是组成C表达式或语句的其它字符,还可以引用已定义的其它宏名。 u 宏的作用域:定义宏之后到本源文件结束,可用#undef提前结束。 u 无参宏(符号常量):#define PI 3.14 注意:函数中双引号内的宏名不替换,如 printf(“PI”); u 有参宏:#define 宏名(形参表) 宏体 u 引用:宏名(实参表) u 注意有参宏如果宏体和参数没用括号括起,可能有副作用。 u 分析有参宏的程序时,必须先将宏替换后的表达式写到纸上,再分析结果。 u 文件包含:#include <文件名> 搜索系统标准目录 #include “文件名” 先搜索当前目录, 找不到再搜索系统标准目录 第八章 1.指针的基本概念:指针≡地址; 2.指针常量: 某已知变量的地址,或数组名等,:int a,b[5];此时&a和b就是指针常量(固定值)。 3.指针变量:如int a,*p=&a; char s[9],*q=s; u 赋值:必须赋地址值,如int a,*p; p=&a; 如p=2001;是错误的。 4.间接访问:*p=5;等同于a=5; 5.指针作为函数的参数,传递的是实参变量的地址, 如:void func(int *p) u 调用时用某变量的地址常量,或指向该变量的指针作为实参,如主调函数中有定义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代表数组首地址,是指针常量, u 元素的表示方法:a[i]、*(a+i)、 p[i]、*(p+i) u 元素地址:&a[i]、a+i、 &p[i]、p+I u 区别:a实指针常量,只不能变,而p是指针变量,可进行增减运算;所以常通过p的增减运算来快速访问数组a,如: while(p<a+5) scanf(“%d”,p++); 或while(p<a+5) {(*p)++; printf(“%d,”,*p++);} u 理解(*p)++、*p++、 *(p++)、p++的含义。 u 执行p++后指针拨动的单元数(由元素类型决定) 7.一维数组作为函数形参,实际上就是一个指针变量,如:func(int a[],int n); 等同于func(int *a,int n); u 函数声明的几种变通形式, P144页。 u 所以指针a在函数中值可以改变,如*a++,不同于函数内定义的数组如:int b[5];这里b是指针常量。 8.指针与字符串:char *p,s[50]=“fdjfjdfj”; p=s; u 可用p间接访问字符串,如指针法:for( ;*p!=‘\0’;p++) 或下表法:for(i=0;p[i]!=‘\0’;i++) 9.指针形参在函数间传递字符串:void copy(char *s1,char *s2) { while(*s1++=*s2++); } u 调用时用字符数组名或指向某字符串的指针做实参, 如:char *p=“sdgygkh”; char ss[50]; func(ss,p) ; u 函数调用的灵活形式:func(ss+2,p)或func(ss,p+2) u 注意:输入字符串常用gets函数,但参数应是字符数组名,或已指向某字符数组的指针,如:char s[50],*p; gets(s);是正确的,而gets(p)是错误的,因为p没被赋地址值,无任何指向。改正:p=s; gets(p); 注意:以下的 10、11、12、13节所列内容不作期末考试要求,但是等级考试要考,同学们如果课下有时间最好看看 10.数组指针与多维数组:int a[3][4]; int (*p)[4]; p=a; u p指向a的一整行,此时*p就代表a[0];如果执行p++,则p指向下一行,即*p代表a[1],p跳过单元数为2*4=8个字节。 u 引用元素的两种形式:p[i][j]或(*p)[j] u 几个等价关系式:由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 u 指针形参在函数间传递多维数组:int func(int (*b)[4],int n); 等价于int func(int b[][4],int n); u 调用时用二维数组名做实参,如:func(a,3); 11.指针数组:char *s[3];表示数组s有3个元素,每一个元素都是一个指针变量,都可以指向一个字符串。 u 赋初值:char *s[3]={“sdgg”,”ww”,”q”};或单独赋值:s[0]=“sdgg”;s[1]=“ww”;s[2]=“q”; u 用于指向多个字符串。 u 也可用字符数组存储多个字符串,只是占用内存空间大。 11.指向指针的指针:二级指针,char **p; u 用于访问指针数组,或在函数间传递指针数组,通常就是传递多个字符串。 12.char *s[3]={“sdgg”,”ww”,”q”};char **p; p=s; u p指向数组s的首地址,此时*p代表s[0],即指向第0个字符串,*p和s[0]都是第0个字符串的首地址, u 可用gets(*p)或gets(p[i])来输入字符串,用puts(*p) 或puts(p[i])来输出字符串。 u 在函数间传递多个字符串的参数形式:func(char **s,int n)或func(char *s[ ],int n)或func(char s[ ][ ],int n) u 总结: 1、通常在主调函数中定义指针数组指向多个字符串。 2、函数:func(char **s,int n)或func(char *s[],int n)传递多个字符串首地址; 3、在函数内的使用形式:s[i]或*(s+i),都代表第i个串首地址,或*s++; 4、一般都是整串操作,循环一般使用字符串个数进行控制,如:for(i=0;i<n;i++) {s[i]……} u 字符串操作函数:strlen()、strcpy()、strcmp() 13.返回指针值的函数:char *func(char *s,char ch) u 切记:返回的是地址,在主调函数中应使用指针类型变量接收函数返回值, 如:char *p,a[]=“asdgg”; p=func(a,’d’); 14.动态内存分配:掌握malloc 函数的使用方法。 第九章 1.结构体:struct ,.定义的几种形式P177页。成员可以是任意类型。 成员引用:结构体变量名.成员名 u 占用内存大小为:各成员占用内存之和。 u 结构体数组:同普通数组一样使用。初始化时注意双重括号。 u 结构体指针:(*p).成员名或p ->成员名 注意:只能用结构体变量地址赋值,不能赋某成员的地址,如:p=&stu.name;是错误的。 u 通常定义变量或形参时必须加上struct,如: void func(struct student *p) { struct student a[4],temp;……} 2.共用体:union,定义形式同结构体。成员引用:共用体变量名.成员名 u 占用内存大小为:共用体中较长的成员的长度。 u 某一时刻只有一个成员起作用,最后一个存放的成员值有效。 u 结构体类型与共用体类型可互相嵌套使用,即结构体成员的类型也可以是共用体类型,反之亦然。 3.枚举类型:如:enum week{sun,mon,tues,wen,thur,fri,sat}day; u 枚举元素就是枚举变量的可能取值,如:day=mon; u 枚举元素视为常量,其值就是序号(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类型进行变量定义,书写简略。 u 注意:只能为类型另起新名,不能创造新类型,也不能为变量或函数重新命名(define)。 第十章 文件(内容不作期末考试要求,但是等级考试要考) 1.流式文件:文本文件、二进制文件。 u 文本文件:若干字符序列,较长,可用type命令或记事本查看。 u 二进制文件:若干字节序列,短,存取速度快,不能用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语言程序设计第1~3章练习题 一、选择题 1、一个C语言程序总是从____ A、主过程开始执行 B、主函数开始执行 C、子程序开始执行 D、主程序开始执行 2、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为_ A、4 B、16 C、32 D、52 3、下面四个选项中,均是C语言关键字的选项是____ A、auto enum include B、switch typedef continue C、signed union scanf D、if struct type 4、下面四个选项中,均是合法整型常量的选项是____ A、160 -0xffff 011 B、-0xcdf 01a 0xe C、-01 986,012 0668 D、-0x48a 2e5 0x 5、下面四个选项中,均是合法浮点数的选项是___ A、+1e+1 5e-9.4 03e2 B、-.60 12e-4 -8e5 C、123e 1.2e-.4 +2e-1 D、-e3 .8e-4 5.e-0 6、下面四个选项中,均是合法转义字符的选项是____ A、'\'' '\\' '\n' B、'\' '\017' '\"' C、'\018' '\f' 'xab' D、'\\0' '\101' 'xlf' 7、下面正确的字符常量是____ A、'\X17' B、'\80' C、'\\' D、"\n" 8、下面四个选项中,均是正确的八进制数和十六进制数的选项是____ A、-10 0x8f -011 B、0abc -017 0xc C、010 -0x11 0xf1 D、0a12 -0x123 -0xa 9、下面四个选项中,均是正确的数值常量或字符常量的选项是____ A、0.0 0f 8.9e '&' B、"a" 3.9E-2.5 1e1 '\"' C、'3' 011 0xFF00 0a D、+001 0xabcd 2e2 50. 10、若有代数式,则正确的C语言表达式是____ A、2*ln(x)*cos(x)/3*x B、2*ln(x)*cos(x)/(3*x) C、2*log(x)*cos(x)/3*x D、2*log(x)*cos(x)/(3*x) 11、若有说明语句:char ch1='\065';char ch2="2";char ch3='2';则:ch1中____,ch2中____,ch3中____ A、包含1个字符 B、包含2个字符 C、包含3个字符 D、字符个数不确定,说明不正确 12、若有运算符:>、*=、?:、%、sizeof,则将它们按运算的优先级排列的正确次序为(由低至高)____ A、*=→?:→%→>→sizeof B、?: →*=→>→%→sizeof C、*=→>→?: →sizeof→% D、*=→?: →>→%→sizeof 13、若有以下类型说明语句:char a; int b; float c; double d; 则表达式a*b+d-c的结果类型为____ A、float B、char C、int D、double 14、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是____ A、a=9+b+c=a+9 B、a=9+b;c=a+9; C、a=(9+b,b++) D、a=9+b++=a+7 15、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为____ A、D B、68 C、一个不确定的值 D、C 16、以下运算符中优先级最高的运算符是____ A、&& B、++ C、?: D、!= 17、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是___ A、2.500000 B、2.7500000 C、3.500000 D、0.000000 18、sizeof(float)是____ A、双精度型表达式 B、一个整型表达式 C、一个函数调用 D、一个不合法的表达式 19、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是____ A、y=(y*100+0.5)/100.0 B、x=y*100+0.5,y=x/100.0 C、y=y*100+0.5/100.0 D、y=(y/100+0.5)*100.0 20、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是____ A、0~255 B、0~65535 C、-32768~+32767 D、-256~+255 21、若有以下定义,则能得到值为3的表达式是____(int m=7,n=12) A、n%=(m%=5) B、n%=(m-m%5) C、n%=m-m%5 D、(n%=m)-(m%=5) 22、若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是____ A、4 B、3 C、2 D、1 23、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___ A、20 B、100 C、表达式不正确 D、45 24、putchar函数可以向终端输出一个____ A、整型变量值 B、实型变量值 C、字符串 D、字符或字符型变量值 25、若有以下变量说明和数据的输入方式,则正确的输入语句为('└─┘'代表空格)____ 变量说明:float x1,x2; 数据的输入方式:4.52<回车> 3.5<回车> A、scanf("%f,%f",&x1,&x2); B、scanf("%f%f",&x1,&x2); C、scanf("%3.2f└─┘%2.1f",&x1,&x2); D、scanf("%3.2f%2.1f",&x1,&x2); 26、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为____ main( ) { int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3); printf("a1+a2+a3=%d\n",a1+a2+a3); } A、a1+a2+a3=48 B、a1+a2+a3=25 B、a1+a2+a3=10 D、不确定值 27、已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____ A、132<回车> B、a=1b=3c=2<回车> C、1<回车>3<回车>2<回车> D、a=1<回车>b=3<回车>c=2<回车> 28、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____ A、int x=y=z=5; B、int x,y,z=5; C、int x=5,y=5,z=5; D、x=5,y=5,z=5; 29、执行下面程序段后,x的值是____ int x; printf("%d\n",(x=3*5,x+5)); A、10 B、15 C、20 D、5 30、下面程序段的输出结果是____ int a=023; printf("%d\n",--a); A、23 B、17 C、18 D、24 31、已知ch是字符型变量,则不正确的赋值语句是____ A、ch=5+9; B、ch='\0'; C、ch='7'+'9'; D、ch='a+b'; 32、设x,y是float型变量,则不正确的赋值语句是____ A、++x; B、y=int(5); C、x*=y+1; D、x=y=0; 33、设有说明:double b=0.5,c=1.5; int a=10; 则正确使用了C语言库函数的赋值语句是____ A、c=asin(c)+fabs(a); B、b=log10(b)+pow(b); C、c=sqrt(b-c); D、a=(int)(atan2((double)a,b)+exp(b-0.2)); 34、以下程序段的输出结果是____ int i=1,j=4,k=2; float x=5.5,y=9.0,z; z=(i+j)/k+sqrt((double)y)*1.2/k+x; printf("%f\n",z); A、9.800000 B、9.300000 C、8.500000 D、8.000000 35、若a为int类型变量,则执行以下程序段后a的值为____ a=5; a*=a/=a++; A、2 B、1 C、40 D、3 36、若a和b均为int型变量,则执行以下程序断后x的输出是____ x=15;y=15; printf("%d\n",x%=(y%=2)); A、0 B、1 C、6 C、12 37、若x为unsigned int类型变量,则执行以下程序段后x的值是____ x=65535; printf("%d\n",x); A、65535 B、1 C、无定值 D、-1 38、以下语句的执行结果是____ printf("%d\n",NULL); A、1 B、0 C、-1 无定值 39、若x为int类型变量,则执行以下程序段后的输出结果是____ x=0xDEF; printf("%4d,%4o,%4x\n",x,x,x); A、3567,6757,def B、3567,6757,xdef C、3567,06757,0xdef D、3567,6757,0def 40、若a、b、c均为int型变量,则执行以下程序段后的输出结果为____ b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d\n",a,b,c); c=(a=10,b=5,a+b); printf("a=%d,b=%d,c=%d\n",a,b,c); A、a=10,b=15,c=10 B、a=10,b=10,c=10 a=10,b=5,c=10 a=10,b=5,c=10 C、a=10,b=10,c=10 D、a=10,b=10,c=10 a=10,b=5,c=15 a=10,b=5,c=5 41、若a1、a2、a3、a4均为char类型变量,则执行以下程序段后的输出结果为____ a1='1'; a2='2'; a3='3'; a4='4'; printf("%1c\n",a1); printf("%2c\n",a2); printf("%3c\n",a3); printf("%4c\n",a4); A、1 B、1 C、1 D、输出格式的描述符不正确 2 2 02 3 3 003 4 4 0004 42、执行语句printf("The program's name is c:\\tools\book.txt");后的输出是____ A、The program's name is c:tools book.txt B、The program's name is c:\tools book.txt C、The program's name is c:\\tools book.txt D、The program's name is c:\toolook.txt 43、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是____ scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d); printf("%4d+%3d+%2d+%1d",a, b, c, d); A、1234123121<回车> B、1234123412341234<回车> C、1234+1234+1234+1234<回车> D、1234+123+12+1<回车> 44、设c1、c2均是char类型变量,则以下不正确的函数调用是____ A、scanf("c1=%cc2=%c",&c1,&c2); B、getchar( ) C、putchar(c2); D、putchar(c1,c2) 45、逻辑运算符两侧运算对象的数据____ A、只能是0或1 B、只能是0或非0正数 C、只能是整型或字符型数据 D、可以是任何类型的数据 46、判断char型变量c1是否为大写字母的正确表达式是____ A、'A'<=c1<='Z' B、(c1>='A')&(c1<='Z') C、(c1>='A')&&(c1<='Z') D、('A'<=c1) AND ('Z'>=c1) 47、执行以下程序段后的a值是___,b的值是___,c的值是___ int a=5,b=6,c=1,x=2,y=3,z=4; c=(a=c>x)&&(b=y>z); A、0 B、6 C、1 D、5 48、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是____ A、'i'&&'j' B、i<=j C、i||j+k&&j-k D、!((i<j)&&!k||1) 49、设ch是char类型变量,其值是A,则以下表达式的值是____ ch=(ch>='A'&&ch<='Z')?(ch+32):ch A、Z B、A C、a D、z 50、若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是____ A、num%2==1 B、!(num%2==0) C、!(num%2) D、num%2 二、填空题 1、C源程序的基本单位是____。 2、一个C语句中至少应包含一个____。 3、在C语言中,输入操作可以由库函数____完成,输出操作可以由库函数____完成。 4、若x是int型变量,且x=6,则表达式x%2+(x- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 等级 考试 语言 复习
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文