C语言程序设计·期末复习完全手册(直接使用版+高频考题真题)_第1页
C语言程序设计·期末复习完全手册(直接使用版+高频考题真题)_第2页
C语言程序设计·期末复习完全手册(直接使用版+高频考题真题)_第3页
C语言程序设计·期末复习完全手册(直接使用版+高频考题真题)_第4页
C语言程序设计·期末复习完全手册(直接使用版+高频考题真题)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计·期末复习完全手册(直接使用版)第一部分:考试题型与分值分布(通用)题型题量分值主要考查范围策略选择题15-20题30-40分语法规则、运算符、基本概念牢记语法规则和优先级填空题5-10题10-20分程序运行结果、缺失语句逐行分析程序逻辑程序阅读题3-5题15-25分写出程序运行结果按执行顺序一步步推算程序填空题2-3题10-15分补全程序缺失部分分析上下文逻辑编程题1-2题15-25分编写完整程序先写框架再补充细节第二部分:C语言基础语法速查2.1数据类型数据类型关键字占用字节(通常)取值范围格式说明符整型int4-2^31~2^31-1%d短整型short2-32768~32767%hd长整型long4或8%ld长长整型longlong8%lld无符号整型unsignedint40~2^32-1%u单精度浮点型float4±3.4×10(-38)~±3.4×1038%f双精度浮点型double8±1.7×10(-308)~±1.7×10308%lf字符型char1-128~127%c无符号字符型unsignedchar10~255%c特殊格式说明符格式符含义%d十进制整数%o八进制整数%x/%X十六进制整数(小写/大写)%f浮点数(小数形式)%e/%E浮点数(指数形式)%c单个字符%s字符串%p指针地址%%输出百分号本身2.2常量与变量常量类型示例说明整型常量100,0,-50十进制八进制常量0123以0开头十六进制常量0x1A以0x开头浮点型常量3.14,1.2e-3小数或指数形式字符常量'A','5','\n'单引号括起字符串常量"Hello"双引号括起符号常量#definePI3.14159预处理定义转义字符转义字符含义ASCII值\n换行10\t水平制表9\反斜线92'单引号39"双引号34\0空字符(字符串结束标志)0变量命名规则规则说明组成字母、数字、下划线开头不能以数字开头长度一般不超过31个字符(不同编译器不同)大小写区分大小写(Name和name不同)关键字不能使用C语言保留关键字2.3运算符与表达式算术运算符运算符含义示例结果(a=5,b=2)+加a+b7-减a-b3*乘a*b10/除a/b2(整数除法截断)%取余a%b1(仅用于整数)自增自减运算符表达式含义值(假设i=3)i++先用后加表达式值=3,i变为4++i先加后用i变为4,表达式值=4i--先用后减表达式值=3,i变为2--i先减后用i变为2,表达式值=2关系运算符运算符含义示例<小于a<b<=小于等于a<=b>大于a>b>=大于等于a>=b==等于a==b!=不等于a!=b逻辑运算符运算符含义规则&&逻辑与两边都为真才为真,左边为假则不再计算右边||逻辑或两边有一为真就为真,左边为真则不再计算右边!逻辑非真变假,假变真赋值运算符运算符等价形式a+=ba=a+ba-=ba=a-ba*=ba=a*ba/=ba=a/ba%=ba=a%b运算符优先级(从高到低)优先级运算符结合性1()[].->左→右2!~++--+(正)-(负)*(指针)&(取地址)sizeof右→左3*/%左→右4+-左→右5<<>>左→右6<<=>>=左→右7==!=左→右8&(按位与)左→右9^(按位异或)左→右10|(按位或)左→右11&&左→右12||左→右13?:右→左14=+=-=*=/=%=右→左15,(逗号)左→右记忆口诀:单算移关与,异或逻条赋(从高到低)第三部分:三大控制结构速查3.1顺序结构输入输出函数函数功能格式printf()格式输出printf("格式字符串",变量列表);scanf()格式输入scanf("格式字符串",&变量);putchar()输出单个字符putchar(c);getchar()输入单个字符c=getchar();puts()输出字符串puts(str);gets()输入字符串gets(str);(有安全风险)scanf注意事项输入变量前必须加取地址符&(数组名除外)输入多项数据时,格式控制符之间不加换行符\n输入数据要与格式控制符类型匹配3.2选择结构if语句//单分支

if(条件){

语句;

}

//双分支

if(条件){

语句1;

}else{

语句2;

}

//多分支

if(条件1){

语句1;

}elseif(条件2){

语句2;

}else{

语句3;

}if语句常见陷阱陷阱错误示例正确做法将==写成=if(a=5)if(a==5)判断相等时用=if(a=1)if(a==1)浮点数直接比较if(x==0.0)if(fabs(x)<1e-6)连续比较写法if(1<=x<=5)if(x>=1&&x<=5)else与if配对缩进误导else与最近的未配对if配对switch语句switch(表达式){//表达式类型:整型、字符型

case常量1:

语句1;

break;//没有break会继续执行下一个case

case常量2:

语句2;

break;

default://所有case都不匹配时执行

语句;

}3.3循环结构while循环while(条件){

循环体;//先判断后执行,可能一次都不执行

}do-while循环do{

循环体;//先执行后判断,至少执行一次

}while(条件);for循环for(表达式1;表达式2;表达式3){

循环体;

}

//表达式1:初始化(只执行一次)

//表达式2:循环条件(每次循环前判断)

//表达式3:循环变量更新(每次循环后执行)break与continue语句作用break立即跳出当前循环或switch语句continue跳过本次循环剩余语句,进入下一次循环判断第四部分:数组速查4.1一维数组定义与初始化//定义

数据类型数组名[数组大小];

//初始化方式

inta[5]={1,2,3,4,5};//全部初始化

inta[5]={1,2};//部分初始化,其余为0

inta[]={1,2,3,4,5};//自动确定大小

inta[5]={0};//全部置0一维数组常考算法//1.求最大值及下标

intmax=a[0],index=0;

for(inti=1;i<n;i++){

if(a[i]>max){

max=a[i];

index=i;

}

}

//2.选择排序(升序)

for(inti=0;i<n-1;i++){

intminIndex=i;

for(intj=i+1;j<n;j++){

if(a[j]<a[minIndex])minIndex=j;

}

inttemp=a[i];

a[i]=a[minIndex];

a[minIndex]=temp;

}

//3.冒泡排序(升序)

for(inti=0;i<n-1;i++){

for(intj=0;j<n-1-i;j++){

if(a[j]>a[j+1]){

inttemp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

//4.二分查找(前提:数组已排好序)

intleft=0,right=n-1,mid,found=-1;

while(left<=right){

mid=(left+right)/2;

if(a[mid]==key){found=mid;break;}

elseif(a[mid]>key)right=mid-1;

elseleft=mid+1;

}

//5.逆序

for(inti=0;i<n/2;i++){

inttemp=a[i];

a[i]=a[n-1-i];

a[n-1-i]=temp;

}

//6.删除指定元素(删除所有值为x的元素)

intk=0;//新数组的下标

for(inti=0;i<n;i++){

if(a[i]!=x){

a[k++]=a[i];

}

}

n=k;//新数组长度为k

//7.插入元素(在有序数组中插入x,保持有序)

inti;

for(i=n-1;i>=0&&a[i]>x;i--){

a[i+1]=a[i];//后移

}

a[i+1]=x;//插入

n++;4.2二维数组定义与初始化//定义

数据类型数组名[行数][列数];

//初始化

inta[2][3]={{1,2,3},{4,5,6}};//按行初始化

inta[2][3]={1,2,3,4,5,6};//按顺序初始化

inta[][3]={{1,2,3},{4,5,6}};//行数可省略,列数不可省略二维数组常考操作//求矩阵转置

for(inti=0;i<m;i++){

for(intj=0;j<n;j++){

b[j][i]=a[i][j];

}

}

//求矩阵对角线之和

intsum=0;

for(inti=0;i<n;i++){

sum+=a[i][i];//主对角线

sum+=a[i][n-1-i];//副对角线

}

//杨辉三角

inta[10][10];

for(inti=0;i<n;i++){

a[i][0]=a[i][i]=1;

for(intj=1;j<i;j++){

a[i][j]=a[i-1][j-1]+a[i-1][j];

}

}4.3字符数组与字符串字符数组定义charstr[20];//定义

charstr[]="Hello";//用字符串初始化

charstr[]={'H','e','l','l','o','\0'};//逐个字符初始化字符串常用函数(头文件<string.h>)函数功能示例strlen(str)求字符串长度(不含\0)len=strlen("Hello");//5strcpy(s1,s2)将s2复制到s1strcpy(a,b);strcat(s1,s2)将s2连接到s1末尾strcat(a,b);strcmp(s1,s2)比较s1和s2strcmp(a,b)==0表示相等strlwr(str)转换为小写strupr(str)转换为大写字符串常考算法//1.统计各类字符个数

intletter=0,digit=0,space=0,other=0;

for(inti=0;str[i]!='\0';i++){

if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))

letter++;

elseif(str[i]>='0'&&str[i]<='9')

digit++;

elseif(str[i]=='')

space++;

elseother++;

}

//2.字符串逆序

intlen=strlen(str);

for(inti=0;i<len/2;i++){

chartemp=str[i];

str[i]=str[len-1-i];

str[len-1-i]=temp;

}

//3.判断回文串

intflag=1;

intlen=strlen(str);

for(inti=0;i<len/2;i++){

if(str[i]!=str[len-1-i]){

flag=0;

break;

}

}

//4.删除字符串中的某个字符

intj=0;

for(inti=0;str[i]!='\0';i++){

if(str[i]!=ch){

str[j++]=str[i];

}

}

str[j]='\0';第五部分:函数速查5.1函数定义与调用//函数定义格式

返回值类型函数名(参数类型参数名,...){

函数体;

return返回值;//返回值类型为void时可以省略return

}

//函数声明(放在调用前或头文件中)

返回值类型函数名(参数类型,...);

//函数调用

变量=函数名(实参1,实参2,...);参数传递方式传递方式说明能否修改实参值传递将实参的值复制给形参不能地址传递将实参的地址传给指针形参能//值传递(不能交换)

voidswap1(inta,intb){

intt=a;a=b;b=t;//只交换了形参,实参不变

}

//地址传递(能交换)

voidswap2(int*a,int*b){

intt=*a;*a=*b;*b=t;//通过地址修改实参

}5.2递归函数//递归求阶乘

intfac(intn){

if(n==0||n==1)return1;//递归终止条件

returnn*fac(n-1);//递归调用

}

//递归求斐波那契数列

intfib(intn){

if(n==1||n==2)return1;

returnfib(n-1)+fib(n-2);

}

//递归求最大公约数(辗转相除法)

intgcd(inta,intb){

if(b==0)returna;

returngcd(b,a%b);

}5.3变量作用域与存储类型关键字存储位置生命周期作用域初始化auto(默认)栈函数执行期间函数内未初始化,随机值static(局部)静态存储区整个程序运行期函数内未初始化则为0static(全局)静态存储区整个程序运行期本文件内未初始化则为0extern静态存储区整个程序运行期所有文件引用其他文件变量static局部变量的特点只在第一次调用时初始化函数调用结束后值保留下次调用时沿用上次的值第六部分:指针速查6.1指针基本概念概念说明示例指针变量存放地址的变量int*p;取地址运算符&获取变量的地址p=&a;间接访问运算符*访问指针指向的变量*p=10;inta=5;

int*p=&a;//p指向a

printf("%d",*p);//输出5,*p等价于a

*p=10;//等价于a=106.2指针与数组inta[5]={1,2,3,4,5};

int*p=a;//p指向数组首元素,等价于p=&a[0]

//以下访问方式等价

a[i]==*(a+i)==p[i]==*(p+i)

//指针遍历数组

for(inti=0;i<5;i++){

printf("%d",*(p+i));

}

//或者

for(int*q=a;q<a+5;q++){

printf("%d",*q);

}6.3指针与字符串charstr[]="Hello";

char*p=str;//p指向字符串首字符

//遍历字符串

while(*p!='\0'){

printf("%c",*p);

p++;

}6.4指针数组与数组指针概念定义方式含义指针数组int*p[5];数组,每个元素是指针数组指针int(*p)[5];指针,指向一个数组指针数组:每个元素是一个指针,可用于存储多个字符串char*strs[]={"Hello","World","C"};

for(inti=0;i<3;i++){

printf("%s\n",strs[i]);

}数组指针:指向二维数组的行inta[3][4];

int(*p)[4]=a;//p指向包含4个int的数组第七部分:结构体速查//结构体定义

structStudent{

charname[20];

intage;

floatscore;

};

//结构体变量定义与初始化

structStudents1={"张三",20,85.5};

structStudents2;

s2=s1;//结构体变量之间可以直接赋值

//结构体成员访问

s1.age=21;

strcpy(,"李四");

//结构体指针

structStudent*p=&s1;

p->age=22;//等价于(*p).age=22

strcpy(p->name,"王五");

//结构体数组

structStudentstus[3]={

{"A",18,90},

{"B",19,85},

{"C",20,88}

};typedef定义类型别名typedefstructStudent{

charname[20];

intage;

}Stu;//Stu成为structStudent的别名

Stus1;//等价于structStudents1第八部分:文件操作速查//文件指针

FILE*fp;

//打开文件

fp=fopen("文件名","模式");

//模式:"r"只读"w"只写"a"追加"r+"读写"w+"读写

//"rb""wb"(二进制模式)

//关闭文件

fclose(fp);

//字符读写

fputc(ch,fp);//写一个字符

ch=fgetc(fp);//读一个字符

//字符串读写

fputs(str,fp);//写字符串

fgets(str,n,fp);//读字符串(最多n-1个字符)

//格式化读写

fprintf(fp,"%d%f",a,b);//写

fscanf(fp,"%d%f",&a,&b);//读

//数据块读写

fwrite(&data,size,count,fp);//写数据块

fread(&data,size,count,fp);//读数据块

//文件定位

rewind(fp);//回到文件开头

fseek(fp,offset,whence);//移动位置指针

//whence:SEEK_SET(开头)SEEK_CUR(当前位置)SEEK_END(末尾)

ftell(fp);//返回当前位置

//判断文件结束

feof(fp);//到达文件末尾返回非0第九部分:高频编程题模板(可直接套用)模板1:判断素数#include<stdio.h>

#include<math.h>

intisPrime(intn){

if(n<2)return0;

for(inti=2;i<=sqrt(n);i++){

if(n%i==0)return0;

}

return1;

}模板2:求最大公约数和最小公倍数//辗转相除法

intgcd(inta,intb){

intt;

while(b!=0){

t=a%b;

a=b;

b=t;

}

returna;

}

//最小公倍数=a*b/gcd(a,b)模板3:求阶乘//循环

intfac(intn){

intresult=1;

for(inti=1;i<=n;i++)result*=i;

returnresult;

}

//递归

intfac(intn){

if(n<=1)return1;

returnn*fac(n-1);

}模板4:判断回文数intisPalindrome(intn){

intoriginal=n,reversed=0;

while(n>0){

reversed=reversed*10+n%10;

n/=10;

}

returnoriginal==reversed;

}模板5:水仙花数//判断一个三位数是否为水仙花数

intisNarcissus(intn){

inta=n/100,b=n/10%10,c=n%10;

returnn==a*a*a+b*b*b+c*c*c;

}

//输出所有水仙花数

for(inti=100;i<=999;i++){

if(isNarcissus(i))printf("%d\n",i);

}模板6:斐波那契数列//输出前n项

intf1=1,f2=1,f3;

printf("%d%d",f1,f2);

for(inti=3;i<=n;i++){

f3=f1+f2;

printf("%d",f3);

f1=f2;

f2=f3;

}模板7:统计输入//统计输入的一串字符中各类字符个数

charch;

intletter=0,digit=0,space=0,other=0;

while((ch=getchar())!='\n'){

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))letter++;

elseif(ch>='0'&&ch<='9')digit++;

elseif(ch=='')space++;

elseother++;

}模板8:数组元素逆序voidreverse(inta[],intn){

for(inti=0;i<n/2;i++){

inttemp=a[i];

a[i]=a[n-1-i];

a[n-1-i]=temp;

}

}模板9:矩阵转置voidtranspose(inta[][N],intb[][M],intm,intn){

for(inti=0;i<m;i++)

for(intj=0;j<n;j++)

b[j][i]=a[i][j];

}模板10:学生成绩管理系统#include<stdio.h>

#defineN5

structStudent{

intid;

charname[20];

floatscore;

};

intmain(){

structStudentstus[N];

floatsum=0,max=0,min=100;

intmaxIndex=0,minIndex=0;

//输入

for(inti=0;i<N;i++){

scanf("%d%s%f",&stus[i].id,stus[i].name,&stus[i].score);

sum+=stus[i].score;

if(stus[i].score>max){max=stus[i].score;maxIndex=i;}

if(stus[i].score<min){min=stus[i].score;minIndex=i;}

}

//输出平均分、最高分、最低分

printf("平均分:%.2f\n",sum/N);

printf("最高分:%s%.2f\n",stus[maxIndex].name,max);

printf("最低分:%s%.2f\n",stus[minIndex].name,min);

return0;

}第十部分:高频程序阅读题(写出运行结果)序号程序运行结果1inti=1;while(i<=5){printf("%d",i);i++;}123452for(inti=1;i<=5;i++)printf("%d",i);123453inta=5,b=2;printf("%d",a/b);24inti=3;printf("%d",i++);35inti=3;printf("%d",++i);46inta=10;if(a=5)printf("Yes");elseprintf("No");Yes7intx=1,y=2,z=3;printf("%d",x>y?x:y>z?y:z);38for(inti=1;i<=3;i++){for(intj=1;j<=i;j++)printf("*");printf("\n");}******(各一行)9inta[]={1,2,3},*p=a;printf("%d",*(p+1));210chars[]="abcde";printf("%d",strlen(s));511inta=3,b=4;a=a+b;b=a-b;a=a-b;printf("%d,%d",a,b);4,312intn=123,sum=0;while(n){sum+=n%10;n/=10;}printf("%d",sum);613inta=1;printf("%d,%d,%d",a++,++a,a++);结果因编译器而异(未定义行为)14intx=0;if(x=0)printf("A");elseprintf("B");B15inti;for(i=0;i<3;i++){staticinta=0;a++;printf("%d",a);}123第十一部分:常见错误与调试错误类型错误示例正确写法判断相等写成赋值if(a=5)if(a==5)忘记取地址符scanf("%d",a);scanf("%d",&a);数组越界inta[5];a[5]=10;索引范围0~4字符串忘记\0chars[5]="Hello";chars[6]="Hello";整数除法5/2=25.0/2=2.5switch忘写break会贯穿到下一个case循环条件写错for(i=1;i<=n;i++);多写了分号导致空循环指针未初始化int*p;*p=10;inta;int*p=&a;scanf中加\nscanf("%d\n",&a);scanf("%d",&a);混淆&和&&if(a&b)if(a&&b)(逻辑与)第十二部分:高频选择题题库(50题)模块一:基本概念与数据类型题号题目选项A选项B选项C选项D答案1C语言程序的基本单位是程序行语句函数字符C2C语言中,main函数的位置必须在开头必须在最后必须在库函数之后可以任意D3一个C程序总是从哪个函数开始执行main第一个函数最后一个函数自定义函数A4C语言中,字符型数据在内存中以什么形式存储原码反码ASCII码补码C5以下合法的用户标识符是2a_abcinta-bB6以下不合法的整型常量是01230x1A1e2100C7C语言中int型变量占用的字节数通常是1248C8设有语句inta=3;则执行a-=a+=a*a;后a的值是30-6-12C模块二:运算符与表达式题号题目选项A选项B选项C选项D答案9执行语句inta=5,b=2;后,a/b的值为2.5230B10设intx=10;,则表达式x%3的值为0123B11设有inti=3;则printf("%d",i++);输出345语法错误A12表达式!(x>0)等价于x<0x<=0x>=0x>0B13设a=1,b=2,c=3,则表达式a>b?a:c>b?c:b的值是1230C14设有inta=10;,则执行a+=a-=a*a后,a的值是100-180-80C15C语言中,逻辑值“真”是用什么表示的TRUE1非0TC模块三:控制结构题号题目选项A选项B选项C选项D答案16for(i=0;i<10;i++);循环结束后i的值是91011不确定B17while(!x)等价于while(x==0)while(x==1)while(x!=0)while(x>0)A18能正确表示x在区间[1,10]的表达式是1<=x<=10x>=1&&x<=10x>=1||x<=10x>1&&x<10B19执行for(i=0;i<3;i++);后,i的值是2341B20C语言中,条件语句if后面的条件表达式要求是逻辑值整数表达式任意表达式只能关系表达式C模块四:数组题号题目选项A选项B选项C选项D答案21定义inta[10];合法引用是a[10]a[0]a[5.5]a(5)B22intaHYPERLINK3;数组共有多少个元素712916B23合法初始化一维数组的是inta[3]={0,1,2,3};inta[]={1,2,3};inta[3]={1,,3};inta(3)={1,2,3};B24设有chars[10]="Hello";则strlen(s)的值56109A25判断字符串a和b相等应使用a==bstrcmp(a,b)==0strcpy(a,b)a=bB26设有inta[]={1,2,3,4,5},p=a;则(p+2)的值1234C27二维数组定义inta={1,2,3,4,5,6};则数组有多少行123不确定B模块五:函数题号题目选项A选项B选项C选项D答案28C语言中函数返回值的类型取决于调用函数时的类型return表达式的类型函数定义时指定的类型主调函数的类型C29C语言中形参的默认传递方式是值传递地址传递双向传递引用传递A30静态局部变量(static)的特点是每次调用时重新赋值只在定义它的函数内有效但值保留所有函数均可访问程序结束后值才释放B31以下关于C函数叙述正确的是函数可以嵌套定义函数不可以嵌套调用函数可以嵌套调用但不能嵌套定义函数不可以有多个returnC32递归函数必须有循环语句终止条件静态变量全局变量B模块六:指针题号题目选项A选项B选项C选项D答案33设有inta,p=&a;则等价于p&a*paD34设有inta[5]={1,2,3,4,5},*p=a;则p+1指向a[0]a[1]a[2]语法错误B35int(*p)[5]表示指针数组数组指针函数指针指针函数B36int*p[5]表示指针数组数组指针函数指针指针函数A模块七:结构体与文件题号题目选项A选项B选项C选项D答案37访问结构体成员使用什么运算符.,;:A38通过结构体指针访问成员使用.->*&B39以只读方式打开文件的模式是"w""r""a""r+"B40判断文件是否结束的函数是feof()ferror()fseek()ftell()A模块八:综合题号题目选项A选项B选项C选项D答案41以下运算符优先级最高的是=&&!!=C42以下能正确表示a和b同时为正或同时为负的是(a>=0||b>=0)&&(a<0||b<0)(a>=0&&b>=0)&&(a<0&&b<0)(a>0&&b>0)||(a<0&&b<0)a*b>0C43C语言源程序文件的扩展名通常是.obj.exe.c.cppC44以下赋值语句中正确的是a=b=c=0;abc;inta=b=c=0;a=b;c=0;A45对break语句的描述正确的是可用于循环体和switch只用于switch只用于循环体只能退出一层循环D46字符串结束标志是'\n''\0''0'空格B47下列哪个是C语言中合法的字符串常量"Hello"'Hello'Hello[Hello]A48C程序中,若未对局部变量赋初值,其值是0随机值1空B49预处理命令#include的作用是定义常量包含头文件定义宏条件编译B50以下对一维数组a初始化的语句正确的是inta[3]=(1,2,3);inta[3]={1,2,3};inta{3}={1,2,3};inta(3)={1,2,3};B第十三部分:判断题速记(30题)序号题目答案1C语言程序的基本单位是语句。错(是函数)2C程序总是从main函数开始执行。对3每个C程序必须有且只有一个main函数。对4C语言中变量不区分大小写。错(区分大小写)5C语言中,10/3的结果是3。对(整数除法)6C语言中,10.0/3的结果是3.333333。对7关系表达式的结果只有0和1两种。对8逻辑表达式的结果只有0和1两种。对9在C语言中,1代表真,0代表假。对10break语句只能用于循环结构中。错(也可用于switch)11continue语句的作用是结束本次循环。对12数组元素的下标从0开始。对13数组名代表数组的首地址。对14可以用赋值语句将一个字符串直接赋给字符数组。错(需用strcpy)15两个字符串比较是否相等可以直接用==。错(需用strcmp)16函数可以嵌套定义。错(不能嵌套定义)17函数可以递归调用。对18指针变量存放的是变量的值。错(存放地址)19指针变量可以指向任何类型的变量。错(需类型匹配)20结构体变量之间可以直接赋值。对21switch语句中每个case后面必须有break。错(可省略,但会贯穿)22if(a=5)表示判断a是否等于5。错(表示赋值5给a,条件为真)23全局变量未初始化时默认值为0。对24静态局部变量的值在函数调用结束后保留。对25文件的打开模式"w"表示以只读方式打开。错(只写)26数组定义时,必须指定数组大小。错(初始化时可省略)27指针可以做加减运算。对28两个指针可以相加。错(不能相加)29空指针不指向任何变量。对30#include是C语言的语句。错(预处理命令)第十四部分:填空题高频考点(直接背诵)序号题目答案1C语言源程序的扩展名是__。.c2C程序总是从__函数开始执行。main3每个C语句必须以__结束。;(分号)4字符串的结束标志是__。'\0'5设inta=5,b=2;则a/b的值为__。26设inta=5,b=2;则a%b的值为__。17

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论