for (n=1 ; n<=100 ; n++) { k=1 ; s=0 ;
【1 】;
while (【2 】) { k*=m; s+=m;
【3 】; }
if (k>s) printf(“Y”,n); } }
3.已知如下公式:
?1121231234?1?????? 23353573579 下面程序的功能使根据上述公式输出满足精度要求的eps的?值,请填(2)空使程序完整。
main ( )
{ double s=0.0,eps,t=1.0; int n ;
scanf (“%lf”,&eps);
for (n=1 ; 【1 】; n++) { s+=t ;
t=【2 】; }
【3 】; }
4.下面程序段的功能是计算1000!的末尾有多少个零,请填(1)空使程序完整。
main ( ) {
int i,k;
for (k=0,i=5; i<=1000; i+=5) { m = i ;
while (【1 】) { k++; m=m/5 ; } } }
5.下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。
main ( ) {
char cx , front=?\\0? ;
while (【1 】!=?\\n?) { if (cx!=? ?) putchar(cx) ; if (cx==? ?)
if (【2 】)
putchar(【3 】)
front=cx ; }
6.下面程序按公式
1求和并输出结果,请填(3)空使程序完整。 k?k????k?1k?1k?1k21005010main ( )
{
【1 】; int k ;
for (k=1 ; k<=100 ; k++) s+=k ;
for (k=1 ; k<=50 ; k++) s+=k*k ;
for (k=1 ; k<=10 ; k++)
s+=【2 】;
printf(“sum=【3 】”,s); }
七.编程题
1.输入两个正整数m和n,求其最大公约数和最小公倍数。
2.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。 3.求
。 ?n!(即求1!+2!+3!+?+19!+20!)
n?1204.有一个分数数列:
23581321,,,,,,?求出这个数列前20项之和。 1235813
5.提高题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。
6.提高题:在屏幕上打印如下的SIN函数曲线。
第七章 数组 一.选择题
1.在C语言中,引用数组元素时,其数组下标的数据类型允许是 。 A)整型常量 B)整型表达式
C)整形常量或整形表达式 C)任何类型的表达式 2.以下对一维整型数组a的正确说明是 。 A)int a(10) ; B)int n=10,a[n]; C)int n; D)#define SIZE 10 scanf(“%d”,&n); int a[SIZE]; int a[n];
3.若有定义:int a[10],则对数组a元素的正确引用是 。 A)a[10] B)a[3.5] C)a(5) D)a[10-10] 4.以下能对一维数组a进行正确初始化的语句是 。 A)int a[10]={0,0,0,0,0}; B)int a[10]={} ;
C)int a[ ] = {0} ; D)int a[10]={10*1} ;
5.若有定义:int a[3][4],则对数组a元素的正确引用是 。 A)a[2][4] B)a[1,3] C)a(5) D)a[10-10] 6.以下能对二维数组a进行正确初始化的语句是 。 A)int a[2][]={{1,0,1},{5,2,3}} ; B)int a[][3]={{1,2,3},{4,5,6}} ; C)int a[2][4]={{1,2,3},{4,5},{6}} ; D)int a[][3]={{1,0,1},{},{1,1}} ;
7.以下不能对二维数组a进行正确初始化的语句是 。 A)int a[2][3]={0} ;
B)int a[][3]={{1,2},{0}} ;
C)int a[2][3]={{1,2},{3,4},{5,6}} ; D)int a[][3]={1,2,3,4,5,6} ;
8.若有说明:int a[3][4]={0};则下面正确的叙述是 。 A)只有元素a[0][0]可得到初值0 B)此说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0 D)数组a中每个元素均可得到初值0
9.若有说明:int a[][4]={0,0};则下面不正确的叙述是 。 A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1
C)因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1 D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
10.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为 。(设a[0][0]位于数组的第一个位置上)
A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+1 11.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是 。 A)2 B)3 C)4 D)无确定值 12.以下不正确的定义语句是 。 A)double x[5]={2.0,4.0,6.0,8.0,10.0};
B)int y[5]={0,1,3,5,7,9} ;
C)char c1[ ]={?1?,?2?,?3?,?4?,?5?} ; D)char c2[ ]={?\\x10?,?\\xa?,?\\x8?} ;
13.下面程序段的输出结果是 。
int k,a[3][3]={1,2,3,4,5,6,7,8,9};
for (k=0;k<3;k++) printf(“%d”,a[k][2-k]);
A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7 14.下面是对s的初始化,其中不正确的是 。
A)char s[5]={“abc”}; B)char s[5]={?a?,?b?,?c?}; C)char s[5]=” ”; D)char s[5]=”abcdef”; 15.下面程序段的输出结果是 。
char c[5]={?a?,?b?,?\\0?,?c?,?\\0?} printf(“%s”,c);
A)?a??b? B)ab C)ab c D)abc 16.若有程序段:
int k,a[3][3]={1,2,3,4,5,6,7,8,9};
for (k=0;k<3;k++) printf(“%d”,a[k][2-k]); 则以下叙述正确的是 。
A)a与b数组完全相同 B)a与b长度相同
C)a和b中都存放字符串 D)a数组比b数组长度长 17.有两个字符数组a,b,则以下正确的输入语句是 。 A)gets(a,b); B)scanf(“%s%s”,a,b); C)scanf(“%s%s”,&a,&b); D)gets(“a”),gets(“b”); 18.下面程序段的输出结果是 。
char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b);
printf(“%c”,a[5]);
A) B)\\0 C)e D)f 19.下面程序段的输出结果是 。
char c[ ]=”\\t\\v\\\\\\0will\\n”; printf(“%d”,strlen(c));
A)14 B)3 C)9 D)6 20.判断字符串a和b是否相等,应当使用 。 A)if (a==b) B)if (a=b)
C)if (strcpy(a,b)) D) if (strcmp(a,b)) 21.判断字符串a是否大于b,应当使用 。
A)if (a>b) B)if (strcmp(a,b)) C)if (strcmp(b,a)>0) D)if (strcmp(a,b)>0) 22.下面叙述正确的是 。
A)两个字符串所包含的字符个数相同时,才能比较字符串 B)字符个数多的字符串比字符个数少的字符串大 C)字符串”STOP ”与”STOP”相等 D)字符串”That”小于字符串”The”
23.下面有关字符数组的描述中错误的是 。 A)字符数组可以存放字符串 B)字符串可以整体输入,输出
C)可以在赋值语句中通过赋值运算对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较 24.下面程序的输出结果是 。
main ( )
{ char ch[7]=”12ab56”; int i,s=0;
for (i=0;ch[i]>?0?&&ch[i]<=?9?;i+=2) s=10*s+ch[i]-?0?; printf(“%d\\n”,s); }
A)1 B)1256 C)12ab56 D)ab 25.下面程序的输出结果是 。
main ( ) {
char str[ ]=”SSWLIA” , C; int k;
for (k=2;(c=str[k])!=?\\0?;k++) { switch (c) {
case ?I? : ++k; break ; case ?L?: continue;
default : putchar(c) ; continue ; }
putchar(?*?); } }
A)SSW B)SW* C)SW*A D)SW
二.填空题
1.在C语言中,二维数组的元素在内存中的存放顺序是 。 2.若有定义:double x[3][5],则x数组中行下标的下限为 ,列下标的下限为 。 3.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为 ,a[2][1]得到的值为 。
4.字符串”ab\\n\\\\012\\\\”的长度是 。 5.下面程序段的运行结果是 。 char x[ ]=”the teacher”; int i=0;
while (x[++i]!=?\\0?)
if (x[i-1]==?t?) printf(“%c”,x[i]);
6.欲为字符串S1输入”Hello World!”,其语句是 。 7.欲将字符串S1复制到字符串S2中,其语句是 。 8.如果在程序中调用了strcat函数,则需要预处理命令 。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C程序设计作业集(6)在线全文阅读。
相关推荐: