1、 num+; while (bn) *(a+num)=bn; n+; return (num); main() char strl81,str281,*p1=str1,*p2=str2; gets(p1); gets(p2); printf(%dn,strlength(p1,p2);若从键盘输入 qwerty abcd 则输出结果是_ _。二、单项选择题。(每题2分,共40分)1下列叙述中错误的是( )A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后
2、缀为.obj和.exe的二进制文件都可以直接运行2按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()A)大写字母 B)连接符 C)数字字符 D)下划线3以下叙述中错误的是( )A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法4对于一个正常运行的C程序,以下叙述中正确的是()A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总
3、是从程序的第一个函数开始,在程序的最后一个函数中结束5设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:代表空格字符)( )A)10X20Y回车 B)10X20Y回车C)10X回车D)10X回车20Y回车20Y回车6若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( )A)sqrt(abs(nx+ex)B)sqrt(fabs(pow(n,x)+pow(x,e)C)sqrt(fabs(pow(n,x)+e
4、xp(x)D)sqrt(fabs(pow(x,n)+exp(x)7设有定义:,以下选项的四个表达式中与其他三个表达式的值不相同的是()A)k+ B)k+=1 C)+k D)k+1 8有以下程序,其中%u表示按无符号整数输出()main()unsigned int x=0xFFFF; /* x的初值为十六进制数*/ printf(“%un”,x);程序运行后的输出结果是A)-1 B)65535 C)32767 D)0xFFFF 9设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )A)if(x+); B)if(xy&y!=0);C)if(xy)x- D)if(y0&n
5、5);程序运行后的输出结果是( )A)235 B)0235 C)02356 D)2356 13有以下程序mian()int i,j;for(i=1;i4;i+)for(j=i;jj+)printf(“%d*%d=%d”,i,j,i*j);printf(“n”);A)1*1=1 1*2=2 1*3=3 B)1*1=1 1*3=32*1=2 2*2=4 2*3=63*1=3 3*3=9C)1*1=1D)1*1=11*2=2 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9 14以下合法的字符型常量是( )A)”x13” B)”018” C)”65” D)
6、”n” 15在C语言中,函数返回值的类型最终取决于()A)函数定义时在函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型16已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()A)c=(c-A)%26+a B)c=c+32C)c=c-A+aD)c=(A+c)%26-a 17有以下函数 int fun(char *s)char *t=s;while(*t+);return(t-s);该函数的功能是( )A)比较两个字符的大小 B)计算s所指字符串占用内存字
7、节的个数C)计算s所指字符串的长度 D)将s所指字符串复制到字符串t中18设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( )A)float *p=1024;B)int *p=(float x);C)floatp=&x; D)float *P=&19有以下程序#include bj:bibj)t=bi;bi=bj;bj=t;int a10=5,4,3,2,1,6,7,8,9,10,i;f(&a2,5,0); f(a,5,1); for(i=0;10;i+)printf(“%d,”,ai);A)1,2,3,4,5,6,7,8,9,10, B)3,4,5,6,7,2
8、,1,8,9,10,C)5,4,3,2,1,6,7,8,9,10, D)10,9,8,7,6,5,4,3,2,1,三、修改下列程序:(在程序出错的语句下划横线并标号,把修改后的语句下载程序下面的横线上。)(每小题5分,共10分)1下列给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。#include void fun (char s) int i,j;for (i=0,j=0;si!=0;i+) if (si=0 & si=A *s=a=zb+;s+; char s100;int upper=0,lower=0;printf(“nPlease a s
9、tring:gets(*s);fun(s,&upper, &lower);printf(“n upper=%d lower=%dn”,upper,lower);四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。(每小题5分,共20分)1.void main() int s=1,t=1,a,n; scanf(“%d%d”,&a,&n);for(int i=1;t=t*10+1; s=s+t; s*=a; printf(“SUM=%dn”,s); 输入数据:2,4输出结果: 2.#include b)?a:b)c)? u:c; t=(t=(ab) t:s=a+b+c-u-t;
10、a=u;b=s; c=t; return s;运行时输入: 5 7 3,输出结果:3.#include char str1=“*”;i+) printf(“%sn”,str1); str1i= str1strlen(str1)-1= 0 输出结果:五、按要求编写下列程序。(每题5分,共10分)1编一程序,输出如下三角形图形。 2编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔的输出该串,请用指针完成。参考答案一、填空题1 分号2 2.0000003 04 k *k5 -126 无数次7 1 2 18 159 a1010 *(p + 5)11 10二、单项选择题1-5
11、 DBCAD6-10 CABCD11-15 CABDA16-20 ACDAB三、程序修改1.修改后的程序如下:void fun (char s) 0sj+=si;sj= printf(nEnter a string:nnThe string is :%sn,item);fun (item);nnThe string of changing is :2.修改后的程序如下:void fun (char *s,int *a, int *b) AZ(*a)+;az(*b)+;system(clsnPlease a string:gets(s);n upper=%d lower=%dn,upper,lower);四、阅读程序1. SUM=22. 3 5 -7 33. 2 4 6 94. * * * *五、 void main() char str1=* int i; for( i=0;%sn,str1); str1strlen(str1)-1= char str=computer char *s=str; while(*s)! printf(%c ,*s); s+;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1