合肥学院C语言程序设计复习题
本试卷为合肥学院C语言程序设计复习题,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言程序设计复习题
一、单项选择题 (共20题,每题2分,共计40分)
( B )
1、若执行以下程序时从键盘上输入9,则输出结果是
main()
{
int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);
}
( C )
2、以下叙述中错误的是________。
( C )
3、下列能正确进行字符串赋值的是________。
( D )
4、以下程序的输出结果是:
main()
{
int a=12, b=12;
printf("%d,%d\n",--a,++b);
}
( A )
5、执行完语句int [] x= new int [25]; 后,则下列哪项说法是正确的
( A )
6、若有以下类型说明语句: char w; int x; float y,z; 则表达式w*x+z-y的结果为_______类型。
( A )
7、对函数int max(int a,int b=0,int c=0,int d=0,int e=0); 下列调用方式正确的是________。
( B )
8、c语言中的基本数据类型是________。
( A )
9、表达式0x13^0x17的值是________。
( B )
10、下面程序段执行后输出的结果是________
#include<stdio.h>
main()
{
int i;
for(i=1;i<8;i++)
{
{
if(i%3)
{
printf("*");
continue;
}
}
printf("#");
}
printf("\n");
}
( D )
11、下列字符串中可以用作c标识符的是________。
( C )
12、char a[10]; 不能将字符串"abc"存储在数组中的是________。
( B )
13、有以下程序
struct stu
{
char num[10];
float score[3];
};
main( )
{
struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;
int i;
float sum=0;
p=s;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%.2f\n",sum);
}
程序运行后的输出结果是________。
( A )
14、已知字母a的ascii码为十进制数65,且c2为字符型,则执行语句c2=‘a’+‘6’-‘3’后,c2中的值为________。
( A )
15、下面四个选项中,均是合法转义字符的选项是________。
( C )
16、使用"scanf("x=%f,y=%f",&x,&y)",要使 x,y均为1.25,正确的输入是________。
( A )
17、以下关于continue语句的描述中正确的是________。
( D )
18、int a[10]; 合法的数组元素的最小下标值为____
( A )
19、c 语言中逻辑表达式的值为________。
( C )
20、已知字母a 的ascii 码十进制值为97,则执行以下语句后的输出为________。yhgchar a='a'; a--; printf ( ''%d,%c\n'',a+'2'-'0',a+'3'-'0' );
二、判断题 (共10题,每题2分,共计20分)
( F )
1、do-while循环中,根据情况可以省略while.( )
( F )
2、寄存器变量的值也存放在内存中。
( T )
3、for语句的一般形式如下,若表达式2的值为"真",则先执行循环体语句,再计算表达式3,然后继续循环。
( T )
4、if语句中的表达式不限于逻辑表达式,可以是任意的数值类型
( F )
5、c语言在函数调用时,若形参实参都是普通变量,实参和形参可以共用存储单元。
( F )
6、要使用标准输入、输出函数,正常情况下应该在文件的开头加上以下内容: #include<graphics.h>或#include"graphics.h"。
( F )
7、对字符数组进行初始化时,如果初值个数小于数组长度,则系统报错。
( T )
8、在同一源文件中,使用extern可将全局变量的作用域向上扩展。
( F )
9、c语言约定'\0' 计入字符串的长度。
( F )
10、在标准c语言中,字符串是以‘ 0’结束的,故字符串的长度也包括‘ 0’。
三、填空题 (共5题,每题4分,共计20分)
1、结构化程序设计的3种基本结构是:顺序结构、选择结构、______结构,这三种基本结构构成了复杂的c语言程序。
2、若有以下定义语句float x[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};,则表达式"x[1][1]*x[2][2]"的值是【1】。
3、a为整型,求(a=4*5,a*2),a+6;的最后结果
4、在c语言中,若确实不要求返回函数值,则应将函数定义为( )类型。
5、"空"指针值用______表示
四、程序分析题 (共4题,每题5分,共计20分)
1、表达式7+10>2 && 25 %5的结果是 ________ 。
2、以下程序的输出结果是_____________。
main()
{
int a=10,b=10;
printf("%da%d",a――,――b);
}
3、#include <stdio.h>
void main()
{
char str[][10]={"mon","tue","wed","thu","fri","sat","sun"};
int n=0,i ;
for(i=0;i<7;i++)if(str[i][0]== 't') n++;
printf("%d\n",n);
}
4、以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如‘a’变成‘f’,‘w’变成‘b’。请在 内填入正确的内容。
#include <stdio.h>
void main()
{
char c;
c=getchar();
if(c>=’a’&&c<=’u’) ;
else if(c>=’v’&&c<=’z’) ;
putchar(c);
}
五、编程题 (共3题,每题0分,共计50分)
1、编写程序:用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。
#include<stdio.h>
void main()
{
char c1, c2;
printf("请输入两个字符给c1和c2:\n");
_________________________________
_________________________________
printf("用putchar函数输出结果为:\n") ;
_________________________________
_________________________________
printf("\n用printf函数输出结果为:\n") ;
_________________________________
}
2、说明一个枚举类型enummonth它的枚举元素为Jan、Feb、…、Dec。编写能显示上个月名称的函数last_month。例如,输入Jan时能显示Dec。再编写另一个函数printmon用于打印枚举变量的值枚举元素。最后编写主函数调用上述函数生成一张12个月份及其前一个月份的对照表,使用结构体实现
3、我国古代有一种回文诗,倒念顺念都有意思,例如“人过大佛寺”,倒读起来便是“寺佛大过人”。还有经典的对联“客上天然居,居然天上客”。此种例子举不胜举。在自然数中也有类似情形,比如1991就是一个很特殊的四位数,从左向右读与从右向左读竟是完全一样的,这样的数称为“回文数”。编程序输出1到10000内的所有回文数并统计个数。
相关标签:
- C语言
- 合肥学院
- 复习题