C语言经典100题二级.docx
- 文档编号:25932685
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:12
- 大小:19.12KB
C语言经典100题二级.docx
《C语言经典100题二级.docx》由会员分享,可在线阅读,更多相关《C语言经典100题二级.docx(12页珍藏版)》请在冰豆网上搜索。
C语言经典100题二级
C语言程序设计复习指导
一、程序设计题
1、多项式求和(积)
例1:
3!
+5!
+7!
+...+N!
,求直到S>=680000为止的奇数N。
(N=11)
main()
{inti,j;
longs,t=0;
for(i=3;;i=i+2)
{s=1;
for(j=1;j<=i;j++)
s=s*j;
t=t+s;
if(t>=680000)
break;
}
printf("%d",i);
}
例2:
请编程计算1-1/2+1/3-1/4+1/5-...+1/99。
(精确到小数点后3位)。
main()
{inti,t=1;
floats=0;
for(i=1;i<=99;i++)
{s=s+*t/i;
t=-t;
}
printf("%.3f",s);
getch();
}
例3:
1+1/3+1/9+1/27…+1/n>时最小的n。
(n=81)
main()
{inti;
floats=0;
for(i=1;;i=i*3)
{s=s+i;
if(s>
break;
}
printf("%d",i);
getch();
}
例4:
求4*(1-1/3+1/5-1/7+…)的值,直到最后一项的绝对值小于10的负6次方为止。
#include""
main()
{longi,t=1;
floats=0;
for(i=1;fabs*t/i)>=;i=i+2)
{s=s+*t/i;
t=-t;
}
printf("%f",4*s);
getch();
}
2、穷举法的应用
例1:
百钱百鸡问题。
例2:
大作业本单价4元,中作业本单价2元,小作业本单价1元,当天共卖出大中小作业本30本,每种至少卖出1本,金额100元,问大中小作业本共有几种组合情况。
(3)
main()
{
inta,b,c,s=0;
for(a=1;a<=30;a++)
for(b=1;b<=30-a;b++)
{
c=30-a-b;
if(a+b*2+c*4==100)s++;
}
printf("\n%d",s);
}
3、迭代法的应用
例1:
已知一个数列的前三个数是1,2,3,从第四个数起,每个数都是前三个数之和。
下面的程序是求出该数列的第15个数。
程序可能有错误,如有错误请改正,将运算结果填入文本框。
(4841)
main()
{
inta[15]={1,2,3},i=4;
while(i=15)
{a[i]=a[i-1]+a[i-2]+a[i-3];
i=i+1;
}
printf("%d",a[15]);
}
4、拆数技巧的应用
例1:
计算各位数字之和等于30的4位偶数的个数。
例2:
回文数。
5、求素数、完数、水仙花数等。
例:
已知函数f是判断素数的函数。
编写程序计算500-1000之间素数的和。
(54591)
f(longn)
{
longi,j=n/2;
if(n<2)return0;
for(i=2;i<=j;i++)
if(n%i==0)return0;
return1;
}
main()
{
longi,s=0;
for(i=500;i<=1000;i++)
if(f(i))s=s+i;
printf("%ld",s);
getch();
}
二、选择题
习题三一、二2、三3
习题四一、二
习题五一、二、三1、2、4、7
习题六一、二
习题七一
已知宏定义#defineSQ(x)x*x,执行语句printf("%d",10/SQ(3));后的输出结果是____。
A)1B)3C)9D)10
【1.1】以下不正确的C语言标识符是____。
A)intB)a_1_2C)ab1exeD)_x
【】以下是正确的C语言标识符是____。
A)#defineB)_123C)%dD)\n
【】下列四组字符串中都可以用作C语言程序标识符的一组是____。
A)print B)i\am C)Pxq D)str_l
_3d one_half My->book Cpp
oodb start$it line# pow
aBc 3pai while
【】下面各选项组中,均是C语言关键字的组是____。
A)auto,enum,includeB)switch,typedef,continue
C)signed,union,scanfD)if,struct,type
【】下列不属于C语言关键字的是_____。
A)defaultB)registerC)enumD)external
【】C语言程序从main()函数开始执行,所以这个函数要写在____。
A)程序文件的开始B)程序文件的最后
C)它所调用的函数的前面D)程序文件的任何位置
【】下列关于C语言的叙述错误的是____
A)大写字母和小写字母的意义相同
B)不同类型的变量可以在一个表达式中
C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D)同一个运算符号在不同的场合可以有不同的含义
【】在C语言中,错误的int类型的常数是____。
A)32768B)0C)037D)0xAF
【】执行语句printf("%x",-1);屏幕显示____。
A)-1B)1C)-ffffD)ffff
【】已知longi=65539;执行语句printf("%d",i);屏幕显示____。
A)65539B)-3C)3D)程序不能执行
【】在C语言中,整数-8在内存中的存储形式是____。
A)1111111111111000B)1000000000001000
C)0000000000001000D)1111111111110111
【】C语言中字符型(char)数据在内存中的存储形式是____。
A)原码B)补码C)反码D)ASCII码
【】将字符g赋给字符变量c,正确的表达式是____。
A)c=\147B)c="\147"C)c='\147'D)c='0147'
【】下列转义字符中错误的一个是____。
A)'\000'B)'\0014'C)'\x111'D)'\2'
【】将空格符赋给字符变量c,正确的赋值语句是____。
A)c='\0'B)c=NULLC)c=0D)c=32
【】已知:
chara='\70';则变量a中____。
A)包含1个字符B)包含2个字符C)包含3个字符D)说明非法
【】字符串"\"EOF\n=-\61\""的长度是____。
A)8B)9C)14D)非法字符串
【】字符串""的长度是____。
A)0B)1C)2D)非法字符串
【】已知:
chara;intb;floatc;doubled;执行语句"c=a+b+c+d;"后,变量c的数据类型是____。
A)intB)charC)floatD)double
【】温度华氏和摄氏的关系是:
C=(5/9)(F-32)。
已知:
floatC,F;由华氏求摄氏的正确的赋值表达式是____。
A)C=5/9(F-32)B)C=5*(F-32)/9
C)C=5/9*(F-32)D)三个表达式都正确
【】逗号表达式"(a=3*5,a*4),a+15"的值是____。
A)15B)60C)30D)不确定
【】如果inta=1,b=2,c=3,d=4;则条件表达式"a
a:
c c: d"的值是____。 A)1B)2C)3D)4 【】为求出s=10! 的值,则变量s的类型应当为____。 A)intB)unsigedC)longD)以上三种类型均可 【】已知inti=10;表达式"20-0<=i<=9"的值是____。 A)0B)1C)19D)20 【】已知intx=1,y;执行语句y=++x>5&&++x<10;后变量x的值是____。 A)1B)2C)3D)4 【】为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。 A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122 B)! (c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122) C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122 D)! (c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122) 【】已知inta[3][2]={3,2,1};则表达式"a[0][0]/a[0][1]/a[0][2]"的值是____。 A)B)1C)0D)错误的表达式 【】已知intx=1,y=1,z=1;表达式"x+++y+++z++"的值是____。 A)3B)4C)5D)表达式错误 【】用十进制表示表达式"12|012"的值是____。 A)1B)0C)12D)14 【】已知以下程序段____: inta=3,b=4; a=a^b; b=b^a; a=a^b; 则执行以上语句后a和b的值分别是____。 A)a=3,b=4B)a=4,b=3C)a=4,b=4D)a=3,b=3 【】在位运算中,操作数每右移一位,其结果相当于____。 A)操作数乘以2B)操作数除以2C)操作数除以16D)操作数乘以16 【】已知chara=222;执行语句a=a&052;后,变量a的值是____。 A)222B)10C)244D)254 【】已知二进制数a是00101101,如果想通过整型变量b与a做异或运算,使变量a的高4位取反,低4位不变,则二进制数b的值应是____。 A)B)00001111C)D)00000000 【】已知inta=15,执行语句a=a<<2以后,变量a的值是____。 A)20B)40C)60D)80 【】已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。 A)0B)1C)5D)6 【】使用语句scanf("x=%f,y=%f",&x,&y);输入变量x、y的值(□代表空格),正确的输入是____。 A),B)□C)x=,y=D)x=□y= 【】下列循环语句中有语法错误的是____。 A)while(x=y)5;B)while(0); C)do2;while(x==b);D)dox++while(x==10); 【】已知intx=(1,2,3,4);变量x的值是____。 A)1B)2C)3D)4 【】表达式sizeof(double)是____。 A)函数调用B)double型表达式C)int型表达式D)非法表达式 【】执行语句printf("2: %d,",printf("1: %d,",scanf("%d",&x)));以后的输出结果是____。 A)2: 1,1: 1,B)1: 1,2: 1,C)2: 4,1: 1D)1: 1,2: 4, 【】已知: intx,y;doublez;则以下语句中错误的函数调用是____。 A)scanf("%d,%lx,%le",&x,&y,&z);B)scanf("%2d*%d%lf",&x,&y,&z); C)scanf("%x%*d%o",&x,&y);D)scanf("%x%o%",&x,&y,&z); 【】与条件表达式"(n)? (c++): (c--)"中的表达式(n)等价的表达式是____。 A)(n==0)B)(n==1)C)(n! =0)D)(n! =1) 【】已知inti=1,j=0;执行下面语句后j的值是____。 while(i) switch(i) {case1: i+=1;j++;break; case2: i+=2;j++;break; case3: i+=3;j++;break; default: i--;j++;break; } A)1B)2C)3D)死循环 【】求取满足式12+22+32+……+n2≤1000的n,正确的语句是____。 A)for(i=1,s=0;(s=s+i*i)<=1000;n=i++); B)for(i=1,s=0;(s=s+i*i)<=1000;n=++i); C)for(i=1,s=0;(s=s+i*++i)<=1000;n=i); D)for(i=1,s=0;(s=s+i*i++)<=1000;n=i); 【】下面的for语句____。 for(x=0,y=10;(y>0)&&(x<4);x++,y--); A)是无限循环B)循环次数不定C)循环执行4次D)循环执行3次 【】已知inti=1;执行语句while(i++<4);后,变量i的值为____。 A)3B)4C)5D)6 【】已知intx=12,y=3;执行下述程序后,变量x的值是____。 do {x/=y--; }while(x>y); A)1B)2C)3D)程序运行有错误 【】已知chara[][20]={"Beijing","shanghai","tianjin","chongqing"};语句printf("%c",a[30]);的输出是____。 A)<空格>B)nC)不定D)数组定义有误 【】若用数组名作为函数调用时的实参,则实际上传递给形参的是____。 A)数组首地址B)数组的第一个元素值 C)数组中全部元素的值D)数组元素的个数 【】对二维数组的正确说明是____。 A)inta[][]={1,2,3,4,5,6};B)inta[2][]={1,2,3,4,5,6}; C)inta[][3]={1,2,3,4,5,6};D)inta[2,3]={1,2,3,4,5,6}; 【】对字符数组s赋值,不合法的一个是____。 A)chars[]="Beijing"; B)chars[20]={"beijing"}; C)chars[20];s="Beijing"; D)chars[20]={'B','e','i','j','i','n','g'}; 【】对字符数组str赋初值,str不能作为字符串使用的一个是____。 A)charstr[]="shanghai"; B)charstr[]={"shanghai"}; C)charstr[9]={'s','h','a','n','g','h','a','i'}; D)charstr[8]={'s','h','a','n','g','h','a','i'}; 【】对函数形参的说明有错误的是____。 A)inta(floatx[],intn)B)inta(float*x,intn) C)inta(floatx[10],intn)D)inta(floatx,intn) 【】如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。 A)静态变量B)动态变量C)外部变量D)内部变量 【】在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是____。 A)externB)registerC)autoD)static 【】在C语言中,函数的数据类型是指____。 A)函数返回值的数据类型B)函数形参的数据类型 C)调用该函数时的实参的数据类型D)任意指定的数据类型 【】已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是____。 A)与参数a的类型相同B)void型 C)没有返回值D)无法确定 【】定义一个函数实现交换x和y的值,并将结果正确返回。 能够实现此功能的是____。 A)swapa(intx,inty) B)swapb(int*x,int*y) {inttemp; {inttemp; temp=x;x=y;y=temp; temp=x;x=y;y=temp; } } C)swapc(int*x,int*y) D)swapd(int*x,int*y) {inttemp; {int*temp; temp=*x;*x=*y;*y=temp; temp=x;x=y;y=temp; } } 【】求一个角的正弦函数值的平方。 能够实现此功能的函数是____。 A) sqofsina(x) floatx; {return(sin(x)*sin(x)); } B) doublesqofsinb(x) floatx; {return(sin((double)x)*sin((double)x)); } C) doublesqofsinc(x) {return(((sin(x)*sin(x)); } D) sqofsind(x) floatx; {return(double(sin(x)*sin(x))); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 经典 100 二级
![提示](https://static.bdocx.com/images/bang_tan.gif)