C语言上机题库百科园第章!南信大!
C语言上机题库百科园!南信大!
第六章单选若已定义char s[10];则在下面表达式中不表示s[1]的地址是()。
A.&s[1]B.&s[0]+1C.s+1D.s++下面程序段的运行结果是()。
char a[ ]=”language” , *p ;p=a ;while (*p!='u') { printf(“%c”,*p-32); p++ ; }nguagengUAGENGUAGENG下面能正确进行字符串赋值操作的是( )A.char s[5]={'A','B','C','D','E'};B.char s[5]={"ABCDE"};C.char *s ; s="ABCDE" ;D.char *s; scanf("%s",s) ;设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下能正确执行并得到有意义的结果的赋值语句是( )。
A.p2=c;B.c=*p1+*p2;C.p1=p2;D.c=*p1*(*p2);已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是( )。
A.*p=max(a,b);B.*p=max;C.p=max;D.p=max(a,b);以下正确的叙述是( )。
A.C语言允许main函数带形参,且形参个数和形参名均可由用户指定B.当main函数带有形参时,传给形参的值只能从命令行中得到C.若有说明: int main(int argc,char **argv),则argc的值必须大于1D.C语言允许main函数带形参,形参名只能是argc和argv若有定义:int (*p)[4];则标识符p( )。
A.是一个指针数组名B.定义不合法C.是一个指向整型变量的指针D.是一个指针,它指向一个含有四个整型元素的一维数组设有程序段:char s[ ]="china"; char *p ; p=s ;则下面叙述正确的是()。
C语言上机题库百科园第优选章南信大
第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}执行后输出结果是3.对for(表达式1;;表达式3)可理解为()。
(表达式1;1;表达式3)(表达式1;0;表达式3)(表达式1;表达式1;表达式3)(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;)printf("%d",i--);次次C.无限次次5.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。
的值等于12345并且n的值大于等于3的值不等于12345并且n的值小于3的值不等于12345或者n的值小于3的值等于12345或者n的值大于等于36.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描述中正确的是()。
循环中,根据情况可以省略whileB.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句循环由do开始,用while结束,在while(表达式)后面不能写分号D.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作7.执行语句for(i=1;i++<4;);后变量i的值是()。
C语言上机题库百科园第4章!南信大!
第四章单选有以下程序,程序运行后的输出结果是( )#include<stdio.h>int fun (int x,int y){ if (x!=y) return ((x+y)/2);else return (x);}int main(){ int a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c))); return 0;}A.12B.6C。
3 D。
8有以下程序,程序运行的输出结果( ) #include <stdio.h>int f(int x);int main(){int n=1,m;m=f(f(f(n))); printf(“%d\n”,m);return 0 ;}int f(int x){return x*2;}A.8B.4C.1D.2有以下程序,程序执行后变量w中的值是( ) #include<stdio。
h>int funl(double a){return a*=a;}int fun2(double x,double y){double a=0,b=0;a=funl(x);b=funl(y);return (int)(a+b);}int main(){double w;w=fun2(1.1,2.0);……}A。
5。
21 B。
0.0 C。
5。
0 D.5有以下程序,程序运行后的输出结果是()#include<stdio。
h〉int fun(){ static int x=1;x*=2;return x;}int main(){int i,s=1;for(i=1;i〈=3;i++) s*=fun();printf(”%d\n”,s);}A。
10 B。
64 C。
0 D。
30有以下程序,程序运行后的输出结果是( )#include<stdio。
h>int f(int x,int y){return ((y-x)*x);}int main(){int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(”%d\n",d);}A.10 B。
C语言上机题库百科园第4章!南信大!
第四章单选有以下程序,程序运行后的输出结果是( ) <>( y){ () (()/2);(x);}(){ 456;("\n"(2*()));0;}A.12B.6C.3D.8有以下程序,程序运行的输出结果( ) <>f( x);(){ 1;(f(f(n))); (“\n”);0 ;}f( x){ x*2;}A.8B.4C.1D.2有以下程序,程序执行后变量w中的值是( ) <>( a){ a*;}2( y){ 0,0;(x);(y); ()();}(){ 2(1.1,2.0);……}A.5.21B.0.0C.5.0D.5有以下程序,程序运行后的输出结果是()<>(){ 1;x*=2;x;}(){ 1;(1<=3) s*();("\n");}A.10B.64C.0D.30有以下程序,程序运行后的输出结果是()<>f( y){ (()*x);}(){ 345;(f()());("\n");}A.10B.8C.7D.9有以下程序,程序运行后的输出结果是() <>( p){ 2; ; (“”);}(){ 1;(a); (“\n”);0;}A.22B.21C.12D.32有以下程序:程序运行后的输出结果是( )<>f(){ 1;1; x;}(){ 1;(1<=5) ();("\n");0;}A.21B.6C.120D.11若有代数式 (其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()((()()))((()()))((()(x)))(())以下关于语句叙述中正确的是()A.定义类型的函数中可以有带返回值的语句B.没有语句的自定义函数在执行结束时不能返回到调用处C.一个自定义函数中必须有一条语句D.一个自定义函数中可以根据不同情况设置多条语句设有如下函数定义,若执行调用语句:(3);,则函数总共被调用的次数是( )( k){ (k<1) 0;(1) 1;(1)+1;}A.2B.3C.5D.4在一个C语言源程序文件中所定义的全局变量,其作用域为()A.所在函数的全部范围B.所在文件的全部范围C.由具体定义位置和说明来决定范围D.所在程序的全部范围以下叙述正确的是()语言函数可以嵌套调用,例如:((x))语言程序是由过程和函数组成的语言函数不可以单独编译语言中除了函数,其他函数不可以作为单独文件形式存在以下程序的主函数中调用了在其前面定义的函数,则以下选项中错误的函数首部是 ( )<>(){a[15];(a);0;}( *a)( a)( a[])( a[15])以下说法不正确的是()A.系统不允许用户重新定义标准库函数B.标准库函数按分类在不同的头文件中声明C.用户可以重新定义标准库函数D.用户若需要调用标准库函数,调用前必须使用预编译命令将该函数所在文件包括到用户源文件中下列叙述中正确的是()语言规定必须用作为主函数名,程序将从此开始执行,在此结束可作为用户标识符,用以命名任意一个函数作为主函数C.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行语言程序将从源程序中第一个函数开始执行若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()A.同名的实参和形参占同一存储单元B.函数的形参和实参分别占用不同的存储单元C.函数的实参和其对应的形参共占同一存储单元D.形参只是形式上的存在,不占用具体存储单元在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。
C语言上机题库百科园第4章!南信大!
第四章单选有以下程序,程序运行后的输出结果是( )#include<stdio.h>int fun (int x,int y){ if (x!=y) return ((x+y)/2);else return (x);}int main(){ int a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));return 0;}A.12B.6C.3D.8有以下程序,程序运行的输出结果( ) #include <stdio.h>int f(int x);int main(){ int n=1,m;m=f(f(f(n))); printf(“%d\n”,m);return 0 ;}int f(int x){ return x*2;}A.8B.4C.1D.2有以下程序,程序执行后变量w中的值是( ) #include<stdio.h>int funl(double a){return a*=a;}int fun2(double x,double y){ double a=0,b=0;a=funl(x);b=funl(y);return (int)(a+b);}int main(){double w;w=fun2(1.1,2.0);……}A.5.21B.0.0C.5.0D.5有以下程序,程序运行后的输出结果是()#include<stdio.h>int fun(){ static int x=1;x*=2;return x;}int main(){ int i,s=1;for(i=1;i<=3;i++) s*=fun();printf("%d\n",s);}A.10B.64C.0D.30有以下程序,程序运行后的输出结果是()#include<stdio.h>int f(int x,int y){return ((y-x)*x);}int main(){ int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}A.10B.8C.7D.9有以下程序,程序运行后的输出结果是()#include <stdio.h>void fun(int p){ int d=2; p=d++; printf(“%d”,p); } int main(){ int a=1;fun(a); printf(“%d\n”,a);return 0;}A.22B.21C.12D.32有以下程序:程序运行后的输出结果是( )#include <stdio.h>int f(){ static int x=1;x+=1; return x;}int main(){ int i,s=1;for(i=1;i<=5;i++) s+=fun(); printf("%d\n",s);return 0;}A.21B.6C.120D.11若有代数式||x x e n (其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C 语言表达式是( )A.sqrt(fabs(pow(n,x)+exp(x,e)))B.sqrt(fbs(pow(n,x)+pow(x,e)))C.sqrt(fabs(pow(x,n)+exp(x)))D.sqrt(abs(n x +e x ))以下关于return 语句叙述中正确的是( )A.定义void 类型的函数中可以有带返回值的return 语句B.没有return 语句的自定义函数在执行结束时不能返回到调用处C.一个自定义函数中必须有一条return 语句D.一个自定义函数中可以根据不同情况设置多条return 语句设有如下函数定义,若执行调用语句:n=fun(3);,则函数fun 总共被调用的次数是( )int fun(int k){ if (k<1) return 0;else if(k==1) return 1;else return fun(k-1)+1;}A.2B.3C.5D.4在一个C 语言源程序文件中所定义的全局变量,其作用域为( )A.所在函数的全部范围B.所在文件的全部范围C.由具体定义位置和extern 说明来决定范围D.所在程序的全部范围以下叙述正确的是( )A.C 语言函数可以嵌套调用,例如:fun(fun(x))B.C 语言程序是由过程和函数组成的C.C 语言函数不可以单独编译D.C 语言中除了main 函数,其他函数不可以作为单独文件形式存在以下程序的主函数中调用了在其前面定义的fun 函数,则以下选项中错误的fun 函数首部是 ( )#include<stdio.h>int main(){double a[15],k;k=fun(a);return 0;}A.double fun(double *a)B.double fun(double a)C.double fun(double a[])D.double fun(double a[15])以下说法不正确的是()A.系统不允许用户重新定义标准库函数B.标准库函数按分类在不同的头文件中声明C.用户可以重新定义标准库函数D.用户若需要调用标准库函数,调用前必须使用预编译命令将该函数所在文件包括到用户源文件中下列叙述中正确的是()A.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B.main可作为用户标识符,用以命名任意一个函数作为主函数C.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行D.C语言程序将从源程序中第一个函数开始执行若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()A.同名的实参和形参占同一存储单元B.函数的形参和实参分别占用不同的存储单元C.函数的实参和其对应的形参共占同一存储单元D.形参只是形式上的存在,不占用具体存储单元在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。
C语言上机题库百科园第5章!南信大!
C语言上机题库百科园第5章!南信大!第五章单选有以下程序,程序运行后的输出结果是( )#include <stdio.h>#include <string.h>int main(){char a[20]=”ABCD\0EFG\0”,b[]=”IJK”;strcat(a,b); printf(“%s\n”,a);return 0;}A.ABCDE\0FG\0IJKB.ABCDIJKC.EFGIJKD.IJK有以下程序,程序运行后的输出结果是 ( )#include<stdio.h>int main(){ char s[]="012xy\08s34f4w2";int i, n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);return 0;}A.7B.0C.8D.3下列选项中,能够满足"若字符串s1等于字符串s2,则执行ST"要求的是 ( )A.if(strcmp(s2,s1)==0)ST;B.if(s1-s2==0)ST;C.if(strcpy(s1,s2)==1)ST;D.if(s1==s2)ST;以下选项中正确的语句组是()A.char s;s={"BOOK!"};B.char s[];s="BOOK!";C.char s[10];s="BOOK!";D.char s[]="BOOK!";以下数组定义中错误的是()A.int x[2][3]={{1,2},{3,4},{5,6}};B.int x[2][3]={1,2,3,4,5,6};C.int x[][3]={0};D.int x[][3]={{1,2,3},{4,5,6}};若有定义语句:int m[]={5,4,3,2,1},i=4;则下面对m数组元素的引用中错误的是()A.m[m[0]]B.m[2*2]C.m[--i]D.m[m[i]]下列选项中,能正确定义数组的语句是()A.int num[];B.int N=2008;int num[N];C.int num[0…2008];D.#define N 2008int num[N];有以下程序,程序运行时若输入:how are you? I am fine<回车>则输出结果是()#include<stdio.h>int main(){ char a[30],b[30];scanf("%s",a);gets(b);printf("%s\n %s\n",a,b);return 0;}A.how are you?I am fineB.how are you? I am fineC.howare you?I am fineD.how are you?下面是有关C语言字符数组的描述,其中错误的是()A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串int aa[MAX];printf("输入一个整数");scanf("%d",&limit);sum=fun(limit,aa);for(i=0;i<sum;i++){if(i%10==0&&i!=0) /*每行输出10个数*/printf("\n ");printf("%5d ",aa[i]);}/******************************/ wf=fopen("debug\\2.out","w");sum=fun(15,aa);for(i=0;i<sum;i++)fprintf(wf,"%d\n",aa[i]);fclose(wf);/*****************************/ return 0;}【参考代码】int i,j,k=0;for(i=2;i<=lim;i++){for(j=2;j<i;j++)if(i%j==0) break;if(j>=i)aa[k++]=i;}return k;/*请编写函数fun,函数的功能是:求出二维数组周边元素之和,作为函数值返回。
南京信息工程大学C语言题库
==================================================题号:13167以下叙述中正确的是()。
A、程序设计的任务就是确定所用算法B、程序设计的任务就是确定所用数据结构C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13162计算机能直接执行的程序是()。
A、可执行程序B、源程序C、汇编程序D、目标程序答案:A题号:13171下列叙述中正确的是()。
A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、main可作为用户标识符,用以命名任意一个函数作为主函数D、C语言程序将从源程序中第一个函数开始执行A题号:13165在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的()。
A、确定性B、正当性C、可行性D、有穷性答案:A题号:13164以下叙述中正确的是()。
A、用C语言编写的程序只能放在一个程序文件中B、C、D、答案:D题号:13169下列叙述中正确的是()。
A、在C程序中 main( )函数的位置是固定的B、每个C程序文件中都必须要有一个main( )函数C、C程序中所有函数之间都可以相互调用,与函数所处位置无关D、在C程序的函数中不能定义另一个函数答案:D题号:13191设有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入"10A9<CR> "(<CR> 为回车),则输出结果是()。
A、10,a,9B、10,A,0C、10,A,9D、10,a,0答案:C题号:13183若有以下程序段,其输出结果是()。
C语言上机题库百科园第章!南信大!
int main()
{
int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
return 0;
}
=123 n=456 p=789
=123n=456p=789
456 789
=123,n=456,p=789
循环是先执行循环循环体语句后判断表达式循环中不能用break语句跳出循环体循环只能用于循环次数已经确定的情况循环的循环体语句中可以包含多条语句但必须用花括号括起来假定所有变量均已正确定义下面语句段执行后的elseelse后一对圆括号中表达式的值应该为
第三章
1.为表示关系x≥y≥z,应使用的表达式是
A.(x>=y)&&(y>=z)
m*=i*j;
}
}
printf(“m=%d\n”,m);
return 0;
}
=2
=6
=4
=5
43.以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);()。
次
B.是无限循环
次
D.循环次数不定
44.下列程序的输出结果是()。
main()
{
int x=1,y=0,a=0,b=0;
{……}
则以下叙述中正确的是______。
A.以上说法都不对
B.循环控制表达式的值为1
C.循环控制表达式的值为0
D.循环控制表达式不合法
17.以下程序段的输出结果是
C语言上机题库百科园第3章!南信大!(活动za)
第三章.为表示关系≥≥,应使用的表达式是.(>)(>).(>>).(>)(>).(>)(>).有以下程序(){ ;(; <; )(){ : ("", );: ("", );: ("", );}}执行后输出结果是.对 (表达式; ;表达式) 可理解为()。
(表达式;表达式)(表达式;表达式)(表达式;表达式;表达式)(表达式;表达式;表达式).若为整型变量,则以下循环执行次数是()。
(;) ("");次次.无限次次.有以下程序段;{("");;}(<);此处循环的结束条件是。
的值等于并且的值大于等于的值不等于并且的值小于的值不等于或者的值小于的值等于或者的值大于等于.有以下程序段;{("");;}(<);以下描述中正确的是()。
循环中,根据情况可以省略.由于循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句循环由开始,用结束,在 (表达式)后面不能写分号.在循环体中,一定要有能使后面表达式的值变为零("假")的操作.执行语句 (<;); 后变量的值是()。
.不定.有以下程序(){, , , ;(>>)("\");(( > ) )("\");("\");}执行后输出结果是.编译时出错(){ ;(){ : ;: ;: ;} ("");}该程序的输出结果是( ).以下程序的功能是:按顺序读入名学生门课程的成绩,计算出每位学生的平均分并输出,程序如下:(){ ;;;(<){(< ){("");;};("\");}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。
C语言上机题库百科园第2章!南信大!
C语言上机题库百科园第2章!南信大!第二章若有数学式3aebc,则不正确的C语言表达式是()A.3*a*e/b*cB.a/b/c*e*3C.3*a*e/b/cD.a*e/c/b*3设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。
A.4B.3C.2D.1下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是()A.(x/2*2-x)==0B.!(x%2)C.!(x%2==0)D.x%2==0表达式18/4*sqrt(4.0)/8值的数据类型为()。
A.charB.doubleC.不确定D.float在C语言中,要求运算数必须是整型的运算符是( )A.%B./C.++D.!=若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。
A.4C.16D.52C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )A.必须为下划线B.必须为字母C.可以是字母、数字和下划线中的任意一种D.必须为字母或下划线若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( )A.不知道a的值,不能确定B.0C.2D.1判断字符型变量c1是否为数字字符的正确表达式为( )A.(c1>='0')&&(c1<='9')B.(c1>=0)&&(c1<=9)C.('0'>=c1)||('9'<=c1)D.'0'<=c1<='9'下面四个选项中,均是合法的用户标识符的选项是()。
A._123 temp INTB.A p_o doC.b-a goto intD.float lao _A以下关于C语言数据类型使用的叙述中错误的是( )A.若要处理如"人员工资"的相关数据,单精度类型B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型C.若要保存带有多位小数的数据,应使用双精度类型D.若要准确无误差的表示自然数,应使用整数类型假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
C语言上机题库百科园南信大
C语言上机题库百科园南信大Company number【1089WT-1898YT-1W8CB-9UUT-92108】第一章以下叙述中错误的是( )A.一个C语言程序只能有一个主函数B.C语言编写的每个函数都可以进行独立的编译并执行C.C语言编写的函数都可以作为一个独立的源程序文件D.C语言编写的函数源程序,其文件名后缀可以是C计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.以上说法都不对D.C语言程序既可以编译执行又可以解释执行C语言规定:在一个源程序中,main的位置( )A.可以任意B.必须在最后C.必须在最开始D.必须在系统调用的库函数后面一个C语言程序是由( )A.若干过程组成B.若干子程序组成C.函数组成D.一个主程序和若干子程序组成以下关于结构化程序设计的叙述中正确的是( )A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.在C语言中,程序的模块化是利用函数实现的C.由三种基本结构构成的程序只能解决小规模的问题D.结构化程序使用goto语句会很便捷以下叙述正确的是( )A.在C程序中,main函数必须位于程序的最前面B.在对一个C程序进行编译的过程中,可发现注释中的拼写错误C.C语言本身没有输入输出语句D.程序的每行中只能写一条语句以下叙述中错误的是( )A.C语言编写的每个函数都可以进行独立的编译并执行B.C语言编写的函数源程序,其文件名后缀可以是CC.一个C语言程序只能有一个主函数D.C语言编写的函数都可以作为一个独立的源程序文件以下叙述正确的是( )A.C程序的书写格式是固定的,每行只能写一条语句B.C程序中注释部分可以单独占一行C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.在对C语言程序进行编译时,可以发现注释行中的拼写错误以下叙述正确的是( )A.C语言程序是由过程和函数组成的B.C语言函数不可以单独编译C.C语言中除了main函数,其他函数不可作为单独文件形式存在D.C语言函数可以嵌套调用,例如:fun(fun(x))一个C程序的执行是从( )A.本程序文件的第一个函数开始,到本程序main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的main函数开始,到main函数结束以下叙述不正确的是( )A.在C程序中,注释说明只能位于一条语句的后面B.C程序的基本组成单位是函数C.一个C源程序可由一个或多个函数组成D.一个C源程序必须包含一个main函数。
C语言上机题库百科园第5章!南信大!
C语言上机题库百科园第5章!南信大!第五章单选有以下程序,程序运行后的输出结果是( )#include <stdio.h>#include <string.h>int main(){char a[20]=”ABCD\0EFG\0”,b[]=”IJK”;strcat(a,b); printf(“%s\n”,a);return 0;}A.ABCDE\0FG\0IJKB.ABCDIJKC.EFGIJKD.IJK有以下程序,程序运行后的输出结果是 ( )#include<stdio.h>int main(){ char s[]="012xy\08s34f4w2";int i, n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);return 0;}A.7B.0C.8D.3下列选项中,能够满足"若字符串s1等于字符串s2,则执行ST"要求的是 ( )A.if(strcmp(s2,s1)==0)ST;B.if(s1-s2==0)ST;C.if(strcpy(s1,s2)==1)ST;D.if(s1==s2)ST;以下选项中正确的语句组是()A.char s;s={"BOOK!"};B.char s[];s="BOOK!";C.char s[10];s="BOOK!";D.char s[]="BOOK!";以下数组定义中错误的是()A.int x[2][3]={{1,2},{3,4},{5,6}};B.int x[2][3]={1,2,3,4,5,6};C.int x[][3]={0};D.int x[][3]={{1,2,3},{4,5,6}};若有定义语句:int m[]={5,4,3,2,1},i=4;则下面对m数组元素的引用中错误的是()A.m[m[0]]B.m[2*2]C.m[--i]D.m[m[i]]下列选项中,能正确定义数组的语句是()A.int num[];B.int N=2008;int num[N];C.int num[0…2008];D.#define N 2008int num[N];有以下程序,程序运行时若输入:how are you? I am fine<回车>则输出结果是()#include<stdio.h>int main(){ char a[30],b[30];scanf("%s",a);gets(b);printf("%s\n %s\n",a,b);return 0;}A.how are you?I am fineB.how are you? I am fineC.howare you?I am fineD.how are you?下面是有关C语言字符数组的描述,其中错误的是()A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串int aa[MAX];printf("输入一个整数");scanf("%d",&limit);sum=fun(limit,aa);for(i=0;i<sum;i++){if(i%10==0&&i!=0) /*每行输出10个数*/printf("\n ");printf("%5d ",aa[i]);}/******************************/ wf=fopen("debug\\2.out","w");sum=fun(15,aa);for(i=0;i<sum;i++)fprintf(wf,"%d\n",aa[i]);fclose(wf);/*****************************/ return 0;}【参考代码】int i,j,k=0;for(i=2;i<=lim;i++){for(j=2;j<i;j++)if(i%j==0) break;if(j>=i)aa[k++]=i;}return k;/*请编写函数fun,函数的功能是:求出二维数组周边元素之和,作为函数值返回。
C语言上机题库百科园第4章!南信大!
第四章单选有以下程序,程序运行后的输出结果是( )#include<stdio。
h〉int fun (int x,int y){ if (x!=y)return ((x+y)/2);else return (x);}int main(){ int a=4,b=5,c=6;printf(”%d\n",fun(2*a,fun(b,c)));return 0;}A。
12 B。
6C。
3 D。
8有以下程序,程序运行的输出结果( ) #include <stdio。
h〉int f(int x);int main(){ int n=1,m;m=f(f(f(n))); printf(“%d\n”,m);return 0 ;}int f(int x){ return x*2;}A。
8 B。
4 C.1 D.2有以下程序,程序执行后变量w中的值是() #include〈stdio。
h>int funl(double a){return a*=a;}int fun2(double x,double y){ double a=0,b=0;a=funl(x);b=funl(y);return (int)(a+b);}int main(){double w;w=fun2(1.1,2。
0);……}A。
5.21 B.0.0 C。
5。
0 D.5有以下程序,程序运行后的输出结果是( )#include<stdio。
h>int fun(){static int x=1;x*=2;return x;}int main(){int i,s=1;for(i=1;i〈=3;i++) s*=fun();printf("%d\n",s);}A。
10 B。
64 C。
0 D。
30有以下程序,程序运行后的输出结果是()#include<stdio。
h>int f(int x,int y){return ((y-x)*x);}int main(){ int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}A。
C语言上机题库百科园第6章!南信大!
单选若已定义char s[10] ;则在下面表达式中不表示s[1] 的地址是( )。
A. &s[1]B. &s[0]+1C. s+1D. s++ 下面程序段的运行结果是( )。
char a[ ]= ”language ”, *p ;p=a ;while (*p!='u') { printf( “%c”,*p-32); p++ ; }A. languageB. langUAGEC. LANGUAGED. LANG 下面能正确进行字符串赋值操作的是( )A. char s[5]={'A','B','C','D','E'};B. char s[5]={"ABCDE"};C. char *s ; s="ABCDE" ;D. char *s; scanf("%s",s) ;设pl和p2是指向同一个字符串的指针变量,c为字符变量,则以下能正确执行并得到有意义的结果的赋值语句是( ) 。
A. p2=c;B. c=*p1+*p2;C. p1=p2;D. c=*p1*(*p2);已有函数max(a,b),为了让函数指针变量p指向函数max正确的赋值方法是( ) 。
A. *p=max(a,b);B. *p=max;C. p=max;D. p=max(a,b);以下正确的叙述是( ) 。
A. C语言允许main函数带形参,且形参个数和形参名均可由用户指定B. 当main函数带有形参时,传给形参的值只能从命令行中得到C. 若有说明:int main(int argc,char **argv), 则argc 的值必须大于1D. C语言允许main函数带形参,形参名只能是argc和argv若有定义:int (*p)[4]; 则标识符p( ) 。
A. 是一个指针数组名B. 定义不合法C. 是一个指向整型变量的指针D. 是一个指针,它指向一个含有四个整型元素的一维数组设有程序段:char s[ ]="china"; char *p ; p=s ; 则下面叙述正确的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(a>b) k=1;
else if(b>c) k=1;
else k=0;
(a<=b) k=0;
else if(b<=c) k=1;
15.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与()配对。
A.其之后最近的if
B.其之前最近的if
C.缩排位置相同的if
k1=1;
k2=2;
k3=3;
x=15;
if(!k1) x--;
else if(k2) x=4;
else x=3;
42.有以下程序,程序运行后的输出结果是()
#include <>
int main()
{
int i,j,m=1;
for(i=1;i<3;i++)
{ for(j=3;j>0;j--)
{if(i*j>3) break;
第三章
1.为表示关系x≥y≥z,应使用的表达式是
A.(x>=y)&&(y>=z)
B.(x>=y>=z)
C.(x>=y)AND(y>=z)
D.(x>=y)&(y>=z)
2.有以下程序
main()
{ int i;
for(i=0; i<3; i++)
switch(i)
{ case 1: printf("%d", i);
m*=i*j;
}
}
printf(“m=%d\n”,m);
return43.以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);()。
次
B.是无限循环
次
D.循环次数不定
44.下列程序的输出结果是()。
main()
{
int x=1,y=0,a=0,b=0;
36.结构化程序设计所规定的三种基本控制结构是()。
A.树形、网形、环形
B.输入、处理、输出
C.主程序、子程序、函数
D.顺序、选择、循环
37.以下程序的输出结果是
main()
{ int y = 10
for(; y > 0; y --)
if(y % 3 == 0)
{ pritnf(“%d”, --y);
i++;
}
}
A.死循环,不能确定次数
23.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。哪个数作为逻辑“假”值()。
B.非零的数
a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c;则a的值为()。
B.不一定
25.有以下程序,若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()
(a>b){ c=a,a=b,b=c;}
(a>b) c=a,a=b,b=c;
(a>b){ c=a;a=b;b=c;}
(a>b) c=a;a=b;b=c;
22.以下程序中,while循环的循环次数是______
main()
{
int i=0;
while(i<10)
{
if(i<1) continue;
if(i==5) break;
40.以下叙述正确的是()。
语句构成的循环不能用其它语句构成的循环来代替.
B.用do-while语句构成的循环,在while后的表达式为零时结束循环
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环.
语句构成的循环只能用break语句退出.
41.假定所有变量均已正确定义,下列程序段运行后x的值是()。
#include<>
int main()
{
int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
return 0;
}
=123 n=456 p=789
=123n=456p=789
456 789
=123,n=456,p=789
=sum/
=;
+=score;
("NO%d:%f\n",n,ave);
11.运行以下程序后,输出的结果是
main()
{ int k = -3;
if(k <= 0)
printf("****\n");
else printf("&&&&\n");
}
A.****
B.有语法错误不能通过编译
C.&&&&
D.****&&&&
(strcmp(s1,s2)= =0)
30.若x是int类型变量,以下程序段的输出结果是
for(x = 3; x < 6; x++)
printf( (x%2)?(“**%d”):(“##%d\n”),x);
A.
B.
C.
D.
语言中,switch后的括号内表达式的值可以是
A.只能为整型和字符型
B.只能为整型
26.有以下程序
main()
{
int i=1,j=1,k=2;
if((j++||k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是
,2,2
,2,3
,1,2
,2,1
27.以下程序段的输出结果为()。for(i=4;i>1;i--) for(j=1;j<i;j++) putchar('#');
A.死循环
-2
0
20.以下程序的运行结果是()。
main()
{
int i=1,sum=0;
while(i<10) sum=sum+1;i++;
printf("i=%d,sum=%d",i,sum);
}
=10,sum=9
B.运行出现错误
=2,sum=1
=9,sum=9
21.设有定义:int a=1,b=2,c=3;以下语句中执行效果与其它三个不同的是()
12.下面的程序片断所表示的数学函数关系是
y = -1;
if(x != 0) y = 1;
if(x > 0) y = 1;
else y = 0;
A.
B.
C.
D.
13.以下程序的输出结果是
main()
{ int x, i;
for(i = 1; i <= 100; i++)
{ x = i;
if( ++x % 2 == 0)
for(i=2;i==0;) printf("%d",i--);
次
次
C.无限次
次
5.有以下程序段
int n=0,p;
do
{
scanf("%d",&p);
n++;
}while(p!=12345&&n<3);
此处do-while循环的结束条件是______。
的值等于12345并且n的值大于等于3
的值不等于12345并且n的值小于3
34.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else总与( )配对
A.同一行上的if
B.其之后最近的if
C.其之前最近的未配对的if
D.缩排位置相同的if
35.以下不正确的if语句形式是()。
(x<y){x++;y++;}
(x>y&&x!=y);
(x==y) x+=y;
(x!=y) scanf("%d",&x) else scanf("%d",&y);
if( ++x % 3 == 0 )
if( ++x % 7 == 0)
printf(“%d “, x);
}
printf(“\n”);
}
70
81
84
68
14.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是()
((a>b)&&(b>c)) k=1;
else k=0;
((a>b)||(b>c)) k=1;
的值不等于12345或者n的值小于3
的值等于12345或者n的值大于等于3
6.有以下程序段
int n=0,p;
do
{
scanf("%d",&p);
n++;
}while(p!=12345&&n<3);
以下描述中正确的是()。
循环中,根据情况可以省略while
B.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句