高升专课程复习资料计算机应用技术程序设计基础C语言习题Word文档下载推荐.docx
《高升专课程复习资料计算机应用技术程序设计基础C语言习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《高升专课程复习资料计算机应用技术程序设计基础C语言习题Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
%d\n"
k<
a?
k:
c<
b?
c:
a);
}
A)4B)3C)2D)1
12.已知字符'
A'
的ASCII码值是65,且charc1='
c2='
D'
;
则执行语句
printf("
%d,%d\n"
c1,c2-2);
后的输出结果是。
A)A,DB)A,BC)65,68D)65,66
13.C语言程序是由组成的。
A)子程序B)过程C)函数D)主程序和子程序
14.不正确的字符串常量是。
abc'
B)"
12'
12"
C)"
0"
D)"
"
15.下列不正确的语句为。
A)if((a=b;
)>
0)t=a;
B)if((a=b)>
C)if(a>
b);
D)if(a<
b){a++;
b++}
16.在C语言中,不同类型数据混合运算,要先转换成同一类型后再进行运算。
设一表
达式中包含int、long、insigned、char类型的变量和数据,则表达式最后的运算结
果是()类型数据。
A)intB)longC)insignedD)char
17.以下选项中非法的表达式是()
A)0<
=x&
x<
100B)i=j==0C)(char)(65+3)D)x+1=x+1
18.执行语句x=(a=3,b=a--);
之后,a,b,x的值依次为()
A)3,2,3B)2,2,3C)2,3,3D)3,2,2
19.以下程序运行后的输出结果是()。
{charm;
m=′B′+32;
printf(″%c\n″,m);
}
A)
B)C)
b
D)
20.能正确表示a和b同时为正或同时为负的逻辑表达式是()
A)(a>
=0‖b>
=0)&
(a<
0‖b<
0)B)(a>
=0&
b>
0&
b<
0)
C)(a+b>
0)&
(a+b<
=0)D)a*b>
(二)、计算题
1、设整型变量x为5,y为2。
下列表达式的值各为多少?
1)!
(y==x/2)2)y!
=x%3
3)x>
0&
y<
04)x!
=y||x>
=y
2、设单精度型变量f、g均为5.0,执行下列表达式后,f的值为多少?
1)f+=g2)f-=g+5
3)f*=g–154)f/=g*10
3、执行表达式x=(a=3,b=a--)后,x,a,b的值各为多少?
4、设实型变量f1、f2、f3、f4的值均为2.0,整型变量m1、m2的值均为
表达式(m1==f1>
=f2)&
(m2==f3<
f4)的值是多少?
5、设单精度型变量f的值为13.8,执行表达式 “n=((int)f)%3”后,n的值是多少?
6、设i、j初值分别为3和4,则执行j+=i-=1;
后i,j的值为多少?
7、请给出下列程序的输出结果。
{
inta=-1,b=4,k;
k=!
((++a<
!
(b--<
=0));
%d%d%d\n"
k,a,b);
}
8、请给出下面程序的输出结果。
#include“stdio.h”
main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&
(-1);
a,b);
9、请给出下面程序的输出结果。
#include<
stdio.h>
{ intm,n,x,y,z;
floata=2.4,b=3.9;
n=(int)a+(int)b;
m=(x=a+b,n+10);
y=x*=2+3;
z=y--;
printf("
%d%d%d%d%d\n"
m,n,x,y,z);
10、有程序
intb=6,d=5;
(++d==b--)?
d++:
b--
执行后b,d的值是多少?
第三章程序的简单算法制定
作业(教材p34):
一、填空题2.18~2.22
二、选择题2.24~2.40
三、编程题:
1输入三角形三边,求三角形面积。
2输入一个大写字母,要求变成小写字母输出。
写出算法,画出相应的流程图、N-S图
第四章分支结构
一、填空题4.1~题4.10
二、选择题4.12~题4.23
三、编程题4.24、4.26、4.28
补充编程题(用支结构语句编程)
1、从键盘输入三角形的三边长,判断出这三边能否构成三角形
2、从键盘上输入数字星期,在屏幕上显示英文星期。
第五章循环结构
一、填空题5.1、5.2、5.3、5.4、5.5、5.7
二、选择题5.13、5.14、5.16、5.18
三、编程题5.22、5.25
补充1、分别统计输入的字符串中字母、数字和其它字符的个数。
第六章函数
一、选择题6.1、6.3、6.4、6.5、6.7、6.9
二、判断题6.11-6.20
三、填空题6.21-6.30
四、阅读程序、写出程序运行结果
五、程序填空
六、编程题6.39、题6.40、题6.43
补充编程题:
1、写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。
2、函数,由实参传来一个字符串,统计该字符串中的字母、数字、空格和其它字符的
个数,在主函数中输入字符串以及输出上述结果。
第二部分大作业:
一、单项选择题
1、在C语言中,不正确的实型常量是。
A)-123e-3.0B)-.123C)-1.23e-1D)-0.123
2、在C语言中,正确的字符常量是。
A)’字’B)’\x41’C)”A”D)”ABC”
3、若变量已正确定义并赋值,下面符合C语言语法的表达式是
A)a:
=b+1B)a=b=c+2
C)int18.5%3D)a=a+7=c+b
4、结构化程序设计所规定的三种基本控制结构是_____________.
A)输入、处理、输出B)树形、网形、环形
C)顺序、选择、循环D)主程序、子程序、函数
5、循环语句的循环体中执行continue语句,其作用是。
A)立即终止程序执行B)继续执行continue语句之后的循环体各语句
C)结束本次循环D)跳出循环
6、若定义inti;
则以下循环语句的循环执行次数是。
for(i=2;
i==0;
)printf("
%d"
i--);
A)无限次B)0次C)1次D)2次
7、若有定义intt=0;
则语句while
(1)if(t++==100)break;
的循环次数是___。
A)0B)1C)100D)无限次
8、以下程序的运行结果是。
{doublet;
%3.1lf\n"
(t=1,t+5,++t));
A)7.0B)6.0C)2.0D)1.0
9、若有以下程序段,
Intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是___________。
A)0B)0.5C)1D)2
10、以下程序的运行结果是。
{intnum=13579,c;
do{printf(“%d”,num%10);
}while((num/=10)>
0);
printf(“\n”);
A)13579B)7531C)3579D)97531
11、以下程序运行结果是。
{intx=1,y=2,z;
z=x>
y?
++x:
++y;
%d,%d,%d\n"
x,y,z);
}_
A)1,2,3B)1,3,3C)2,3,3D)2,2,3
12、若定义floata;
现要从键盘输入a的数据,其整数位为3位,
小数位为2位,则选用。
A)scanf(“%f”,&
B)scanf(“%5.2f”,a);
C)scanf(“%6.2f”,&
D)scanf(“%f”,a);
13、设有説明语句:
inta=2,b=7,c=5;
则执行以下语句后,输出为____________。
switch(a>
0)
{case1:
switch(b<
{case0:
printf("
@"
);
break;
case1:
"
Case0:
switch(c==5)
*"
#"
default:
$"
A)@#&
B)#&
C)*&
D)$&
14、下用户自定义函数中,存在的语法错误是。
sign(int)
{
if(a==0)return0;
elseif(a>
0)return1;
elsereturn–1;
A)没有指出返回值类型B)函数名是C语言的关键字
C)形参变量没有定义D)函数体中多次出现了return语句
15、以下程序运行结果是。
#defineN3
#defineMN+1
#defineNUM(M+1)*M/3
main()
{inti,n=0;
for(i=0;
i<
NUM;
i++)n++;
n);
A)7B)8C)15D)6
二、改错题
1、老师要求学生编写一个程序,功能是:
当x等于2且-10≤y≤10时,输出”z=1”,暂停后,结束程序运行,否则输出”z=0”。
x和y值由键盘输入。
现有某学生编写程序如下,有诸多错误和不当之处,请你代替老师为他修改程序。
voidmain()
{intx,y,z;
scanf("
x=%d,%3.2d"
x,y);
请输入x,y值:
if(x=2&
-10≤y≤10)
printf(“z=1”);
getche();
elseprintf(“z=0”);
return;
2、以下程序用于计算n=50时sum=1+1/2+1/4+...+1/n的值,并显示出来。
要求n从键盘输入。
请找出程序中的各处错误,并改正之。
{inti,sum,n;
n=50;
while
(1)
{if(n%2);
break;
}
For(i=1;
=n;
i+=2)sum+=1/n;
三、程序分析题
1、设以程序段中的变量都是int类型,则输出的结果是。
sum=pad=5;
pAd=sum++,pAd++,++pAd;
printf(“%d\n”,pad);
2、以下程序的运行结果是。
{inta,b,c;
a=b=c=1;
if(a++||++b)c++;
a,b,c);
3、以下程序的运行结果是。
{intc;
while((c=getchar())!
\n'
{switch(c-'
2'
putchar(c+4);
case2:
break;
case3:
putchar(c+3);
putchar(c+2);
\n"
输入:
742<
回车>
,程序的输出结果是。
4、以下程序的输出结果是。
#include"
stdio.h"
#defineSUM(y)2+y
{intx=5;
SUM(3)*x%5);
5、以下程序的输出结果是。
func(inta)
{staticintm=0;
m+=a*2;
returnm;
{intk=6,p;
p=func(k);
%d,"
p);
四、请编程序求解问题:
有若干只鸡和兔在同一个笼子里,从上面数,有三十五个头;
从下面数,有九十四只脚。
求笼中各有几只鸡和兔?
(20分)
第七章多维数组
书面作业(教材p161)
一、选择题7.1-7.10
二、判断题7.11-7.20
三、填空题7.21-7.30
四、阅读程序7.31、7.32
五、程序填空题7.36
六、编程题7.37、7.38、7.39
提交作业:
编程
1.已有一个已按从小到大排好序的整型数组,今输入一个整数,要求按原来排序的规律将它插入数组中。
2.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1;
要求改为1,4,5,6,8。
3.求下列两个矩阵之和(即对应元素之和)。
12341357
56789111315
910111217192123
4.打印出以下的杨辉三角形(要求打印10行)。
1
1
121
1331
14631
15101051
…………………
第八章指针
书面作业:
一、选择题8.1-题8.10
二、判断题8.11-题8.20
三、填空题8.21、题8.22、题8.23、题8.26、题8.27
四、阅读程序题8.31、题8.32
五、程序填空题8.35、题8.36
六、编程题8.37、题8.43
1.编一个程序,输入15个整数存入一维数组,再按逆序重新存放后再输出。
2.输入一个一维实型数组,输出其中的最大值、最小值和平均值。
3.输入一个3×
6的二维整型数组,输出其中最大值、最小值及其所在的行列下标。
九章构造数据类型
一、选择题9.1-题9.10
二、判断题9.11-题9.20
三、填空题9.21-题9.30
四、阅读程序题9.3、题9.34
五、程序填空题9.35
六、编程题9.38
3.用结构体存放下表中的数据,然后输出每人的姓名和实发数(基本工资+浮动工资–支出)。
姓名
基本工资
浮动工资
支出
Zhao
qian
sun
240.00
360.00
560.00
400.00
120.00
0.00
75.00
50.00
80.00
9.编一个程序,输入10个员工的标号、姓名、基本工资、职务工资,求出其中“基本工资+职务工资”最少的员工姓名并输出。
10.编一个程序,输出10个学生的学号、姓名、3门课程的成绩,求出总分最高的学生姓名并输出。
第十章文件
一、选择题10.1-10.10
二、判断题10.11-10.20
三、填空题10.21-30
四、程序填空题10.31、10.32
五、编程题10.37
补充作业:
1.编一个程序,从键盘输入200个字符,存入名为“f1.t”的磁盘文件中。
2.从上一题中建立的名为f1.txt的磁盘文件中读取120个字符,并显示在屏幕上。
3.输入100个学生的信息(含学号、姓名、年龄、7科成绩、总分),统计所有学生的总分,然后存入磁盘二进制数据文件student.dat中。
然后再读取该文件,寻找总分最高的学生并输出该生的所有信息。
第三部分大作业:
1单项选择题
1、在C语言程序设计中引用数据元素时,其数组下标的数据类型允许是_______。
A)字符常量B)浮点型常量
C)整型常量或整型表达式D)任何类型的表达式
2、当调用函数时,实参是一个数组名,则向函数传送的是_________。
A)数组的长度B)数组的首地址
C)数组每一个元素的地址D)数组每个元素中的值
3、设有以下说明语句
structex
{intx;
floaty;
charz;
}example;
则下面的叙述中不正确的是__________-。
A)struct结构体类型的关键字B)example是结构体类型名
C)x,y,z都是结构体成员名D)structex是结构体类型
4、以下叙述中错误的是______。
A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B)在程序结束时,应当用fclose函数关闭已打开的文件
C)利用fread函数从二进制文件中读数据,可以用数组名给数组中所有元素读入数据
D)不可以用FILE定义指向二进制文件的文件指针
5、以下各语句中,字符串“abcde”能正确赋值的操作是。
A)chars[5]={‘a’,’b’,’c’,’d’,’e’};
B)char*s;
s=”abcde”;
C)char*s;
gets(s);
D)chars[6];
scanf(“%s”,&
s);
6、已知:
chars[20]="
language"
*ps=s;
则不能引用字母n的表达式是_________。
A)ps+2B)s[2]C)ps[2]D)ps+=2,*ps
7、下面程序的输出结果是__________。
{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf(“%d\n”,*p+9);
A)0B)1C)10D)9
8、已知:
inta,x;
则正确的赋值语句是____________。
A)a=(a[1]+a{2})/2B)a*=*a+1;
C)a=(x=1,x++,x+2);
D)a="
good"
9、对于下述定义,不正确的叙述是___________。
uniondata
{inti;
charc;
floatf;
}a,b;
A)变量a所占内存的长度等于成员f的长度
B)变量a的地址和它的各成员地址都是相同的
C)可以在定义时对a初始化
D)不能对变量a赋值,故a=b非法
10、若有以下定义和语句
inta=4,b=3,*p,*q,*w;
p=&
a;
q=&
b;
w=q;
q=NULL;
则以下语句中错误的是_____。
A)*q=0;
B)w=p;
C)*p=a;
D)*p=*w;
11、若有下列定义:
intx[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*p)[3]=x;
则能够正确表示数组元素a[1][2]的表达式为。
A)*(*(p+1)+2)B)*((*p+1)[2])C)*(*(p+5))D)*((*p+1)+2)
12、若有语句
chars1[]="
string1"
s2[8],*s3,*s4="
string2"
则是对库函数strcpy的错误调用。
A)strcpy(s1,"
B)strcpy(s4,"
C)strcpy("
s2);
D)strcpy(s3,"
13、以下程序的输出结果是________.,
{charst[20]=“hello\0\t\\\”;
printf(%d%d\n”,strlen(st),sizeof(st));
A)99B)520C)1320D)2020
14、有以下程序
#include<
string.h>
main(intargc,char*argv[])
{inti,len=0;
for(i=1;
argc;
i++)len+=strlen(argv);
len);
程序编译连接后生成的可执行文件是ex1.exe,
若运行时输入带参数的命令行是:
ex1abcdefg10<
则运行的结果是__________。
A)22 B)17 C)12D)9
15、执行下面的语句后,输出结果为______