C语言程序设计复习资料.docx
- 文档编号:3399056
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:13
- 大小:20.74KB
C语言程序设计复习资料.docx
《C语言程序设计复习资料.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习资料.docx(13页珍藏版)》请在冰豆网上搜索。
C语言程序设计复习资料
C语言程序设计复习资料
资料一
一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。
答案错选或未选者,该题不得分。
每小题2分,共20分。
)
1.下列语句的执行结果为()
Inti=0;
While(i<10);
I++;
Printf(“%d”,i);
A.死循环B.1C.9D.10
2.C语言中,下列哪个关键字不是循环语句的关键字()
A.whileB.forC.loopD.dowhile
3.下列语句的执行结果为()
Intu=1;
Switch(u)
{
Case1:
u++;
Case2:
u+=2;
Case3:
u=3;
Default:
}
Printf(“%d”,u);
A.1B.2C.3D.4
4.有以下语句:
intb;charc[10];,则正确的输入语句是()
A.scanf("%d%s",&b,&c); B.scanf("%d%s",&b,c);
C.scanf("%d%s",b,c); D.scanf("%d%s",b,&c);
5.执行下列代码后N的值为( )
#DefineN4+3*5/7
A.5 B.6 C.7 D.编译错误
6.执行下列语句以后的结果为( )
Inti=1;
If(i=2)
I=0;
If(i==0)
I++;
Elseif(i=0)
I++;
Elsei++;
Printf(“%d”,i);
A.0 B.1 C.2 D.3
7.下列对数组的赋值哪项是错的( )
A.inta[5]={} B.inta[5]={0}
C.inta[5];a[5]={0}; D.inta[5];a[0]=0;
8.下列哪行有错误( )
1.voidfun(int){}
2.voidfun();
3.voidmain()
4.{
5.inti=0;
6.fun(inti);
7.}
A.第一行 B.第二行 C.第六行 D.没有错误
9.下列代码运行结果为( )
Inta=0;
Voidfun(inta){a=1;}
Voidmain()
{
Fun(a);
{inta=2;}
a++;
Printf(%d”,a)
}
A.0 B.1 C.2 D.3
10.下列结构体实例化对象分配了几个字节的内存( )
Structstudent
{
Inta;
Charc;
}
A.1个 B.4个 C.5个 D.2个
二、填空题(每空1分,共20分。
)
1.C语言的逻辑运算符有________,________,________3种。
2. 函数的参数有________和________2种类型。
3. Int类型的运算符分配___个字节的空间,char类型运算符分配____个字节的空间。
4. C语言中语句之间是用_____符号分隔。
5. 变量根据作用范围不同分为________和________两种。
6. C语言中数组的下标从____开始,到_________结束,并且数组各个元素的_____相同。
7. C语言中程序的入口是____。
8. 终止循环语句的关键字是_____,继续循环语句的关键字是____。
9. 在编译时分配内存是在_____空间中分配内存方式,在执行时分配内存是在_____空间中分配内存方式。
10. C语言中指针变量是存放_____的变量,通过____符号表示。
三、程序填空题(每小题10分,共30分。
)
1.输入一个数字,判断该数字是多少位数。
比如输入1234,回车系统提示4
#include
Intcount(intnumber)//函数返回number的位数
{
Intcnt;//cnt表示要返回的个数
________1________;
While(_______2_______)
{
________3_______;
________4_______;
}
_________5_________;
}
2.现有1串数:
1,1,2,3,5,8,13……,其中第n个数是第n-2个数与第n-1个数之和。
其中n>2,这里如果n=7,那么值为13。
通过程序求第n个数的值
Intjacobee(intn)//求该数列的第n个数的值.n>2
{
If(n<=2)
Return0;
Else
{
Inta=1;
Intb=1;//初始化的两个数字
Intk=2;
While(_____1_____)
{
_____2_______;//保存b的值
_____3_______;//将a+b的值赋给b
_____4_______;//再把b所保存的值给a
}
_______5_______;//返回b的值
}
}
3.求1/1+1/2+…….+1/n的值
Floatsum(intn)
{
floatsum;
inti;
_______1_______;
_______2_______;
While(_____3______)
{
_____4______;//令i自加
_____5______;
}
}
四、论述题(每小题15分,共30分。
)
1.输入一个学员信息,包括学员ID,姓名,家庭住址以及电话号码,并且打印该学员信息。
2.打印如下图案,行数需要自己输入
*
**
***
……..
参考答案一
一.单选题(每小题2分,共20分)
1B2C3C4B5A
6B7C8C9B10C
二.填空题(每题1分,共20分)
1. &&,||,!
2. 形参,实参
3. 4,1
4. ;
5. 全局变量,局部变量
6. 0,数组元素个数-1,类型
7. Main函数
8. Break,continue
9.栈,堆
三、程序填空题
1、
(1)Cnt=0
(2)Number!
=0
(3)Number/=10或者number=number/10
(4)Cnt++
(5)Returncnt
2、
(1)K (2)Inttemp=b (3)B=a+b (4)A=temp (5)Returnb 3、 (1)Sum=0.0 (2)I=1 (3)I (4)I++ 四、论述 1: #Include Structstudent { Charid[20]; Charname[20]; Charaddress[20]; Chartelephone[20]; } Voidmain() { Studentstu; Printf(“inputid: ”); Scanf(“%s”,stu.id); Printf(“inputname: ”); Scanf(“%s”,stu.name); Printf(“inputaddress: ”); Scanf(“%s”,stu.address); Printf(“inputtelephone: ”); Scanf(“%s”,stu.telephone); Printf(“id: %s\n”,stu.id); Printf(“name: %s\n”,stu.name); Printf(“address: %s\n”,stu.address); Printf(“telephone: %s\n”,stu.telephone); } 2: #include voidprint(intn) { for(inti=1;i<=n;i++) { for(intj=0;j printf(“*”); printf(“\n”); } } Voidmain() { Intn=0; Scanf(“%d”,&n) print(n); } 资料二 一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。 答案错选或未选者,该题不得分。 每小题2分,共20分。 ) 1.以下不能定义为用户标识符是() (A)Main(B)_0(C)_int(D)sizeof 2.数字字符0的ASCII值为48,若有以下程序 main() { chara='1',b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是() (A)3,2(B)50,2(C)2,2(D)2,50 3.以下语句或语句组中,能正确进行字符串赋值的是() A)char*sp;*sp="right! "; B)chars[10];s="right! "; C)chars[10];*s="right! "; D)char*sp="right! "; 4.有以下语句: intb;charc[10];,则正确的输入语句是() A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c); C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); 5.已知intt=0; while(t=1) {...} 则以下叙述正确的是( ) A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 6.以下叙述中不正确的是( ) A)在不同的函数中可以使用相同的名字的变量 B)函数中的形式参数是局部变量 C)在一个函数内定义的变量只在本函数范围内有效 D)在一个函数内的复合语句中定义的变量在本函数范围内有效 7.有以下语句,则对a数组元素的引用不正确的是( ) (0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a; A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i)) 8.fun(intx,inty,intz) {z=x*y;} main() { inta=4,b=2,c=6; fun(a,b,c); printf("%d",c); } 程序运行后的输出结果是( ) A)16 B)6 C)8 D)12 9.以下叙述中不正确的是( ) A)预处理命令行都必须以#号开始 B)在程序中凡是以#号开始的语句行都是预处理命令行 C)宏替换不占用运行时间,只占编译时间 D)以下定义是正确的: #definePI3.1415926; 10.以下程序的运行结果是( ) main() {structdate {intyear,month,day;}today; printf("%d\n",sizof(structdate)); } A)6 B)8 C)10 D)12 二、填空题(每空1分,共20分。 ) 1.C语言的基本数据类型有(至少4种) ________,占_______字节 ________,占_______字节 ________,占_______字节 ________,占_______字节 2. 函数的重载是指函数的_______相同,_______和_______不同。 3. 3种循环语句的关键字是_______,_______,_______。 4. 数组的首地址可以用_______来表示。 5. 定义结构体类型的关键字是_______。 6. C语言中数组的下标从____开始。 7. 字符串操作处理函数在____头文件里面 算术运算符函数在__________头文件里面 标准输入输出运算符在__________头文件里面。 三、程序填空题(每小题10分,共30分。 ) 1.输入一个数字,判断该数字是多少位数。 比如输入1234,回车系统提示4 #include Intcount(intnumber)//函数返回number的位数 { Intcnt;//cnt表示要返回的个数 ________1________; While(_______2_______) { ________3_______; ________4_______; } _________5_________; } 2.现有1串数: 1,1,2,3,5,8,13……,其中第n个数是第n-2个数与第n-1个数之和。 其中n>2,这里如果n=7,那么值为13。 通过程序求第n个数的值 Intjacobee(intn)//求该数列的第n个数的值.n>2 { If(n<=2) Return0; Else { Inta=1; Intb=1;//初始化的两个数字 Intk=2; While(_____1_____) { _____2_______;//保存b的值 _____3_______;//将a+b的值赋给b _____4_______;//再把b所保存的值给a } _______5_______;//返回b的值 } } 3.求1/1+1/2+…….+1/n的值 Floatsum(intn) { floatsum; inti; _______1_______; _______2_______; While(_____3______) { _____4______;//令i自加 _____5______; } } 四、论述题(每小题15分,共30分。 ) 1.输入一个学员信息,包括学员ID,姓名,家庭住址以及电话号码,并且打印该学员信息。 2.求1-2+3-4+……+99的值,并打印出来 参考答案二 一、单选题(每小题2分,共20分) 1D2C3C4B5C 6D7D8B9B10D 二、填空题(每题1分,共20分) 1. Int,4 Float,8 Double,10 Char,1 2. 函数名,参数类型,参数个数 3. While,for,dowhile 4. 数组名 5. struct 6. 0 7. String.h Math.h 三、程序填空题 1、 (1)Cnt=0 (2)Number! =0 (3)Number/=10或者number=number/10 2、 (1)K (2)Inttemp=b (3)B=a+b (4)A=temp (5)Returnb 3、 (1)Sum=0.0 (2)I=1 (5)I (6)I++ (7)Sum+=1.0/i 四、论述题 1: #Include Structstudent { Charid[20]; Charname[20]; Charaddress[20]; Chartelephone[20]; } Voidmain() { Studentstu; Printf(“inputid: ”); Scanf(“%s”,stu.id); Printf(“inputname: ”); Scanf(“%s”,stu.name); Printf(“inputaddress: ”); Scanf(“%s”,stu.address); Printf(“inputtelephone: ”); Scanf(“%s”,stu.telephone); Printf(“id: %s\n”,stu.id); Printf(“name: %s\n”,stu.name); Printf(“address: %s\n”,stu.address); Printf(“telephone: %s\n”,stu.telephone); } 2: #include Voidmain() { Inti=1; Intsum=0; While(i<=99) { Sum=sum+i; I=(i+1)*(-1); } Printf(“%d”,sum); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习资料