C语言程序设计模拟试题A(附答案)

合集下载

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A) _1234_B) _1_2C) int_2_D) 2_int_3.以下定义语句中正确的是( )。

A) char a='A'b='B';C) int a=10,*b=B) float a=b=10.0;D) float *a,b=4.设有以下定义:#define。

d。

2int。

a=0.double。

b=1.25.char c=’A’;则下面语句中错误的是()。

A) a++;B) b++C) c++;D) d++;5.以下4个选项中,不能作为一条C语句的是( )。

A) {;}B) a=0,b=0,c=0.C) if(a>0);D) if(b==0) m=1;n=2;6.有以下定义语句double a,b。

int w。

long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++B) w%(int)a+b)C) (c+w)%(int)aD) w=a==b;7.设有定义:int n=0,*p=&n,**q=则以下选项中,正确的赋值语句是( )。

A) p=1;B) *q=2;C) q=p;D) *p=5;8.设有定义:int a,*pa=以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa)。

C) scanf(“%d”,&pa)。

B) scanf(“%d”,a)。

D) scanf(“%d”,*pa);9.如有申明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比力的是()。

山东大学网络教育学院C语言程序设计模拟题A答案

山东大学网络教育学院C语言程序设计模拟题A答案

《C语言程序设计》模拟卷A卷一、选择题:1.一个C语言的源程序中____A__。

A)必须有一个主函数 B)可以有多个主函数C)必须有主函数和其他函数 D)可以没有主函数2.执行以下语句的结果为____C__。

y=10; x=y++;A)x=10, y=10 B)x=11, y=11C)x=10, y=11 D)x=11, y=103.执行以下程序段后,c3的值是__A____。

int c1=1,c2=2,c3;c3=c1/c2;A) 0 B) 1/2 C) D) 14.C语言中字符型(char)数据在内存中的形式存储是____D__。

A) 原码 B) 补码 C)反码 D) ASCII码5.下列常数中不能作为C的常量的是____D__。

A) 0xA5 B) -2 C) 3e2 D)6.C语言中整数-8在内存中的存储形式是___B___。

A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 01117.已知 int i,a;执行语句"i=(a=2*3,a*5),a+6;"后,变量i的值是___B___。

A)6 B)12 C)30 D)368.执行以下程序段后,a,b,c的值分别是______。

int a,b=100,c,x=10,y=9;a=(--x==y++)?--x:++y;if(x<9)b=x++; c=y;A)9,9,9 B)8,8,10 C)9,10,9 D)1,11,109.一个C语言程序的基本组成单位是______C。

A)主程序 B)子程序 C)函数 D)过程10.已知函数abc的定义为:void abc ( ){ ....... }则函数定义中void的含义是___A_。

A)执行函数abc后,函数没有返回值B)执行函数abc后,函数不再返回C)执行函数abc后,可以返回任意类型D)以上三个答案全是错误的11.以下程序的输出结果是___C_。

C语言程序设计试卷(含答案)

C语言程序设计试卷(含答案)

.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。

A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。

A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。

A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。

A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。

A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。

A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。

A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。

A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。

C语言程序设计模拟试卷(2)

C语言程序设计模拟试卷(2)

C语⾔程序设计模拟试卷(2)模拟试卷⼀⼀、选择题(每题1分,共15分) 在每⼩题列出的四个选项中只有⼀个是符合题⽬要求的,请在正确答案前点选,错选或未选均不得分。

1. 以下选项中不合法的⽤户标识是:正确答案A. _123B. printfC. A$D. Dim2. 在C 语⾔中,char 型数据在内存中的存储形式是:正确答案A. 补码B. 反码C. 原码D. ASCII 码正确答案:D3. 设x,y,z 为int 型变量,且x=3,y=4,z=5 ,则下⾯表达式中值为0 的是:正确答案A. 'x'&&'y'B. !((xC. x||y+z&&y-zD. x<=y正确答案:B4. 若有定义:int a=2,b=4,c; 执⾏语句c=a/b+2.6 ;后,c 的值为:正确答案A. 2.6D. 2正确答案:D5. 设a 为整型变量,不能确定表达数学关系10正确答案A. 10B. a==11|| a==12|| a==13|| a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)正确答案:C6. 若i 、j 已定义为int 型,则以下程序段中语句printf( “ %d ” ,i*j); 的执⾏次数是:for (i=3;i>0;i-- )for (j=0;j<4;j++ )printf( “ %d ” ,i*j);正确答案A. 12B. 15C. 16D. 20正确答案:A7. 若有输⼊语句“ scanf( "%d%d%d",&x,&y,&z); ”,则不能使x值为5,y 值为6,z值为7的输⼊是:正确答案A. 5 ,6 ,7< 回车>B. 5 6 7< 回车>C. 5 6 < 回车> 7< 回车>D. 5< 回车> ,6< 回车> ,7< 回车>正确答案:A8.执⾏以下程序段后,x ,y 和z 的值分别是:int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;正确答案:B9. 以下程序段x = -1;do{ x=x*x;} while(!x); 正确的说法是:正确答案A. 死循环B. 循环⼀次C. 循环两次D. 有语法错正确答案:B10. 以下正确的函数声明形式是:正确答案A. double fun(int x ,int y)B. double fun(int x ;int y)C. double fun(int x ,int y) ;D. double fun(int x ,y) ;正确答案:C11.若有定义char ch[8] ,则以下表达式中不能代表数组元素ch[1] 的地址是:正确答案A. &ch[0]+1B. &ch[1]C. &ch[0]++D. ch+1正确答案:C12. 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4 的表达式是:正确答案:C13. 若已有以下函数定义:float fun(float a, int b){int c;c=(int)a%b;return c;}则主调函数中语句“ printf("%f",fun(fun(fun(34,7),4),3)); ”的输出结果是:正确答案A. 2.000000B. 因参数类型与形参类型不⼀致,函数调⽤产⽣错误C. 2D. 因变量c 的类型与fun 函数的返回值类型不符,故输出值为随机值正确答案:A14. 已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是:正确答案A. (*p)++B. *p++C. *++pD. ++*p正确答案:B15. 以下可作为函数fopen 中第⼀个参数的正确格式是:正确答案A. c:\user\file.txtB. "c:\user\file.txt"C. "c:\\user\\file.txt"⼆、填空题(共10题)1. 字符串存储时,末尾被系统⾃动加上字符。

C语言程序设计A模拟考核试题及解答

C语言程序设计A模拟考核试题及解答

C 语言程序设计A 》模拟考核试题及解答一、选择题1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。

A. cppB. exeC. objD. C2. C 语言程序的基本模块为( )。

A. 表达式B. 标识符C. 语句D. 函数3.x>0 || y==5 的相反表达式为( )。

A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==54.枚举类型中的每个枚举常量的值都是一个( )。

A. 整数B. 浮点数C. 字符D. 逻辑值5.循环语句“ for(int i=0; i<n; i++) S; ”中循环体S 被执行的次数为( )A. 1B. n-1C. nD. n+16.在下面的while 循环语句中,其循环体被执行的次数为( )。

int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 77.若定义了函数double *function(), 则返回值类型为( )。

A. 实数型B. 实数指针型C. 函数指针型D. 数组型8.若用数组名作为函数调用的实参,传递给形参的是( )。

A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9. 假定a 为一个整型数组名,则元素a[4] 的地址比该数组的首地址大( ) 个字节。

A. 4B. 8C. 16D. 3210. 下列给字符数组赋初值时,正确的是( )。

A. char s1[]="abcdef";B. char s2[4]="abcd";C. char s3[2][3]={"abc","xyz"};D. char s4[4][]={'a','x','s','t'};A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;11.要使p 指向二维整型数组a[10][20] ,p 应定义为()。

C语言程序设计模拟考试试卷及答案(一)

C语言程序设计模拟考试试卷及答案(一)

C语言程序设计模拟考试试卷及答案(一)一、单项选择题1.一个C程序的执行是从( )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( )。

A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是( )。

A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是( )。

A) {;} B) a=0,b=0,c=0;C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。

A) p=1; B) *q=2; C) q=p; D) *p=5;8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9.若有说明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C ”};则表达式*language[1]>*language[2]比较的是()。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

C语言程序设计模拟试题一(含答案)

C语言程序设计模拟试题一(含答案)

C语言程序设计模拟试题一(含答案)1、下列述叙中正确的是A) 显示器和打印机都是输出设备B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格2、微型计算机中运算器的主要功能是进行A) 算术运算B) 逻辑运算C) 算术和逻辑运算D) 初等函数运算3、是DOS系统的最外层模块,通常称之为A) 引导程序B) 输入输出系统C) 命令处理系统D) 文件管理系统4、电子邮件是A) 网络信息检索服务B) 通过Web网页发布的公告信息C) 通过网络实时交互的信息传递方式D) 一种利用网络交换信息的非交互式服务5、和十进制数225相等的二进制数是A) 11101110 B) 11111110C) 10000000 D) 111111116、下列叙述中正确的是A) 指令由操作数和操作码两部分组成\B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集7、计算机的内存储器比外存储器A) 价格便宜B) 存储容量大C) 读写速度快D) 读写速度慢8、设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件9、要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B 盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:\\WS\\B1.TXT B:\\Z.TXTC) COPY A:X1.TXT+C:\\WS\\B1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT10、下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON11、设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL \\AA\\A.TXTC) DEL \\AA\\A*.TXT D) DEL \\AA\\A?.TXT12、在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标C) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标13、在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框14、在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中B) ROM中C) 硬盘中D) 寄存器中15、使计算机病毒传播范围最广的媒介是A) 硬磁盘B) 软磁盘C) 内部存储器D) 互联网16、设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4C) 11 D) 1217、下列程序的输出结果是main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2C) 0 D) 3.0718、下列程序执行后的输出结果是(小数点后只写一位)main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.019、下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;20、设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1C) 2 D) -121. 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1;else if(x<0)y=-1;else y=0;B) if(x)if(x>0)y=1;else if(x<0)y=-1;else y=0;C) y=-1if(x)if(x>0)y=1;else if(x==0)y=0;else y=-1;D) y=0;if(x>=0)if(x>0)y=1;else y=-1;22. 以下循环体的执行次数是main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2C) 1 D) 023. 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替B) do-while语句构成的循环只能用break语句退出C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环D) 用do-while语句构成的循环,在while后的表达式为零时结束循环24. 下列程序执行后的输出结果是main(){ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }A) G B) HC) I D) J25. 执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A) 不定值B) 33C) 30 D) 1026. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上A} a[p-a] B} *(&a[i])C} p[i] D} a[10]27、下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d \n,b[0]);}A) 6 B) 7C) 8 D) 928、下列程序的运行结果是#include <stdio.h>main(){ int a=2,c=5;printf("a=%d,b=%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5C) a=d, b=d D) a=%d,b=%d29、下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=p; i<9; i++) p[i]=i+1;printf("%d \n",a[1][2]);}A) 3 B) 6C) 9 D) 随机数30、设有数组定义: char array [ ]="China"; 则数组array所占的空间为A) 4个字节B) 5个字节C) 6个字节D) 7个字节31、下列程序的输出结果是int b=2;int func(int *a){ b += *a; return(b);}main(){ int a=2, res=2;res += func(&a);printf("%d \n",res);}A) 4 B) 6C) 8 D) 1032、在以下四组中,每组有两个分别运算的函数,运算结果相同的是main(){ int i, j, m=0, n=0;for(i=p; i<2; i++)for(j=0; j<2; j++)if(j>=i) m=1; n++;printf("%d \n",n);}A) 4 B) 2C) 2 D) 033、下列程序的输出结果是struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}A) 5 B) 6C) 7 D) 834、设int b=2;表达式(b>>2)/(b>>1)的值是A) 0 B) 2C) 4 D) 835、在C程序中,可把整型数以二进制形式存放到文件中的函数是A) fprintf函数B) fread函数C) fwrite函数D) fputc函数36、下列程序执行后的输出结果是main(){ char x=0xFFFF; printf("%d \n",x--); } A) -32767 B) FFFEC) -1 D) -3276837、若有定义: float w;int a, b;则合法的switch语句是A) switch(w){ case 1.0: printf("*\\n");case 2.0: printf("**\\n");}B) switch(a);{ case 1 printf("*\\n");case 2 printf("**\\n");}C) switch(b){ case 1: printf("*\\n");default: printf("\\n");case 1+2: printf("**\\n");}D) switch(a+b);{ case 1: printf("*\\n");case 2: printf("**\\n");default: printf("\\n");}38、以下程序段的执行结果是int a, y;a=10; y=0;do{ a+=2; y+=a;printf("a=%d y=%d\n",a,y);if(y>20) break;{ while(a=14);A} a=12 y=12a=14 y=16a=16 y=20a=18 y=24B} a=12 y=12a=16 y=28C} a=12 y=12D} a=12 y=12a=14 y=26a=14 y=4439、若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…A} void fun(int m, int x[]) B} void fun(int s, int h[41])C} void fun(int p, int *s) D} void fun(int n, int a)40、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)A) a\\bre\\'hi\\'y\\\\\\bou B) a\\bre\\'hi\\'y\\bouC) re'hi'you D) abre'hi'y\\bou41、请选出正确的程序段A) int *p;scanf("%d",p);…B) int *s, k;*s=100;…C) int *s, k;char *p, c;s=&k;p=&c;*p='a';…D) int *s, k;char *p, e;s=&k;p=&c;s=p;*s=1;42、已知指针p的指向如下图所示,则执行语句*--p;后*p的值是A) 30 B) 20C) 19 D) 2943、设已有定义:char *st="how are you";下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11];strcpy(a, st);D) char a[], *p;strcpy(p=&a[1],st+2);44、下列程序执行后的输出结果是mai(){ char arr[2][4];strcpy(arr,"you"); strcpy(arr[1],"me");arr[0][3]='&';printf("%s \n",arr);}A) you&ne B) youC) me D) err45、下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A) hello B) helC) hlo D) hlm46、假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行: prg hello good<回车>后,程序的输出结果是main()int argc, char *argv[]){int i;if(argc<-0)return;for(i=1;i<argc;i++)printf("%c", *argv[i]);}A) hello good B) hgC) hel D) hellogood47、下列程序执行后的输出结果是#define MA(x) x*(x-1)main(){ int a=1,b=2;printf("%d \n",MA(1+a+b));}A) 6 B) 8C) 10 D) 1248、变量a所占内存字节数是union U{ char st[4];int i;long l;};struct A{ int c;union U u;}a;A) 4 B) 5C) 6 D) 849、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s);}A) 123,456,789 B) 1,456,789C) 1,23,456,789 D) 1,23,45650、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是main(){char s[100];int c, i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s \n",c,i,s); }A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456答案:ACCDD ACCDBCDDBD ACAABACDAA DABBCBABDA CDBCCCBABC BBCDD。

《 C程序设计》模拟试题一及参考答案

《 C程序设计》模拟试题一及参考答案

《 C程序设计》考试试题( 120分钟)(闭卷)一、单项选择题(每小题 2分,共60分)1. C语言规定:在一个源程序中,main函数的位置是 _________ 。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后2.下列四组选项中,均不是C语言关键字的选项是 _________ 。

A)define B)getc C)include D)whileIF char scanf gotype printf case pow3.设 int a=3;结果为0的表达式是 _________ 。

A)2%a B)a/=a C)!a D)~a4.执行下面程序片段的结果是 _________ 。

int x=23;do { printf("%d",x--);}while(!x);( A)打印出231 (B)打印出23( C)不打印任何内容(D)陷入死循环5. 设int a=0,b=5,c=2;选择可执行x++的语句是 _________ 。

A)if(a) x++; B)if(a=b) x++;C)if(a =< b) x++; D)if(!(b-c)) x++;6.以下程序的运行结果是 _________ 。

main(){ int k=4,a=3,b=2,c=1;printf("\n%d\n",k<a ? k:c<b ? c:a);A)4 B) 3 C) 2 D)17.以下程序的输出结果是 _________ 。

main( ){ int x=8,y=8; printf("%d%d\n",x--,--y);}A)8 8 B)7 7 C)7 8 D)8 78.C语言中,运算对象必须是整数的运算符是 _________ 。

A)% B)\ C)%和\ D) **9.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 _________ 。

C程序设计试卷A卷

C程序设计试卷A卷

杭州师范大学信息科学与工程学院2007-2008学年第1学期期末考试《C程序设计》试卷(A)班级:学号:姓名一、根据C程序设计的有关概念,判断以下表述的正确性。

对的在括号内填上(×)1.在C源程序中将语句“if(x==5) y++;”误写作“if(x=5) y++;”,将导致编译错误。

(√)2.设变量定义为 char s[]= ”hello”,则数组s 中有6个元素。

(×)3.若表达式sizeof(int)的值为2,则int类型数据可以表示的最大整数为 216-1。

(×)4.C的double类型数据可以精确表示任何实数。

(×)5.函数原型为“void sort(float a[],int n)”,调用该函数时,形参数组a被创建,实参数组各元素的值被复制到a数组各元素中。

(×)6.'B'和”B”在内存中的表示没有区别。

(×)7.a是一维数组名,数组元素a[1]还可以写作“*(a++)”。

(√)8.若文件打开方式为”w”而该文件已经存在,则文件中原有数据被清空。

(×)9.p为指向字符串的指针变量,*p表示所指的字符串。

(√)10.表达式(15>>2)&2 的值是2。

二、单项选择题(最佳选择)(共20分,每小题2分)1.C语言规定函数的返回值的类型是由( D )。

A.return语句的表达式所决定B.调用该函数时的主调函数返回值类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数返回值类型所决定2.C语言在判断逻辑值时,以( C )作为逻辑“真”值。

A.true B.t 或 y C.非0值D.数值03.设有定义:char s[12]={”string”};则printf(”%d”,strlen(s));的输出是( A )。

A.6 B.7 C.11 D.124.设ch是char型变量,其值为’A’,则表达式:ch = (ch>=’A’ && ch<=’Z’)?(ch+32):ch 的值是( B )。

c语言程序设计模拟试题ABC

c语言程序设计模拟试题ABC
{
char *s, *s1 =“here is”, *s2 =“key”;
s = s1;
while (*s1!=’\0’) s1++;
while (*s1++=*s2++);
s2 = s;
while (*s2!=’\0’) s2++
printf(“%d\n”, s2-s);
}
2、#include <STDIO.H>
printf("%d",j);
}
}
4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。
voidexchange(int *x, int *y)
{
int t;
t=*y;
*y=;
*x=;
}
三、阅读程序,写出程序的输出结果(24分)
1、#include <stdio.h>
void main(void)
c语言程序设计模拟试题B
专业班级学号姓名
题号








总分
得分
五、单选题(15分)
1、以下程序的输出结果是()。
#include <stdio.h>
void main(void)
{ int a = 5, b = 4, c = 6, d;
printf(“%d\n”, d=a>b?(a>c?a: c): b);
c语言程序设计模拟试题A
专业班级学号姓名
题号








总分

c语言程序设计模拟试题A

c语言程序设计模拟试题A

c语言程序设计模拟试题A专业班级学号姓名一、单选题(15分)1、若有定义:int a=8, b=5, c;执行语句c = a/b+0.4 ;后,c的值为()。

A) 1.4 B) 1 C) 2.0 D) 22 、以下程序中,while 循环的次数是()。

#include <stdio.h>void main(void){ int i = 0;while (i<10) {if (i<1) continue;if (i==5) break;i++;}}A) 1 B) 死循环,不能确定次数C) 6 D) 103、以下程序的输出结果是()。

#include <stdio.h>void main(void){ int a = 0, i;for (i=1; i<5; i++)v {switch (i) {case 0:case 3: a += 2;case 1:case 2: a += 3;default: a += 5;}}printf(“%d\n”, d);}A) 31 B) 13 C) 10 D) 204、执行以下程序段后的输出结果是()。

int x = 5;int m, n;n = (++x) + (++x);m = (x--) + (x--);printf(“%d %d\n”, m, n);A) 14 10 B) 13 13 C) 14 14 D) 14 125、执行以下程序后的输出结果是()#include <stdio.h>void main(void){int i = 0, j = 0, a = 6;if ((++i>0)||(++j>0)) a ++;printf(“i=%d, j=%d, a=%d\n”, i, j, a);}A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=76、执行以下程序后的输出结果是()#include <stdio.h>void main(void){char a[]=”abc\0abc”;printf(“%s”, a);}A) abc\0abc B) abc\ C) abc\0 D) abc7、以下程序的输出结果是()#include <stdio.h>void main(void){int a = 1, b = 2, c = 3;printf(“%d”, c>b>a);}A) 2 B) 1 C) 0 D) 38、执行以下程序后,a的值为()。

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。

C语言程序设计试题附答案3篇

C语言程序设计试题附答案3篇

C语言程序设计试题附答案3篇C语言程序设计试题附答案11. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b=4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。

C语言程序设计A卷(答案)

C语言程序设计A卷(答案)

贵州大学2010-2011学年第二学期考试试卷A(答案)C语言程序设计注意事项:1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。

2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。

3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。

4.满分100分,考试时间为120分钟。

一.单项选择题(本大题共20小题,每小题1分,共20分)1.以下描述中不属于C语言特点的是(B )。

A.预算符丰富B.不允许直接访问物理地址C.语法限制不太严格D.是完全模块化和结构化语言2.在C语言中,回车符是(A )。

A.\n B.\t C.\f D.\b3.下列类型不属于基本类型的是(B )。

A.整形B.指针类型C.浮点型D.空类型4.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C )。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任意字符5.下列数据中,不合法的C语言实型数据的是(C )。

A.0.123 B.123e3 C.2.1e3.5 D.789.0 6.下列二进制数据中,-10的补码是( D )。

A.1111111111111001 B.1111111111111100 C.1111111111111010 D.11111111111101107.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B )。

A.a:=b+1 B.a=b=c+2 C.int 18.5 D.a=c+7=c + b 8.以下说法不正确的是(B )。

A.实参可以是常量、变量、表达式B.形参可以是常量、变量、表达式C.实参可以为任意类型D.形参应与对应的实参一致9.下面的运算符中,优先级最高的运算符是( C )。

A.<= B.= C.% D.&&10.初始化i=2,表达式(++i)*3+(i++)的值等于(B )A.11 B.12 C.13 D.1411.以下对二维数组a的正确说明是(C )。

安徽农业大学c语言程序设计模拟试题及答案

安徽农业大学c语言程序设计模拟试题及答案

C语言试题(一)1.下列关于C语言用户标识符的叙述中正确的是______。

A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.以下叙述不正确的是A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面3.下面能正确进行字符串赋值操作的语句是A.char s[5]={"ABCDE"};B.chars[5]={'A','B','C','D','E'};C.char *s;s="ABCDEF";D.char *s; scanf("%s",s);4.下列叙述中正确的是A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的函数可以嵌套调用5.以下程序输出的结果是____。

main( ){ float a=5,b=4,d;d=(a>b);printf("%d\n",d);}A. 1B. 0C. 1.0D. 46.设int a=5,b=6,表达式(b--==6)?++a:--b的值是___A. 5B. 6C. 7D. 47.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。

for(i=0, j=10; j>=i; i++, j--)k=i+j;A. 10B. 20C. 8D. 08.能正确表示逻辑关系:"1≤a≤9"的C语言表达式是A. a>=1 or a<=9B. a>=1且a<=9C. a>=1&&a<=9D. 1≤a≤99.有以下程序main(){int i=0,k=2;if(++i)printf("%d",k);else printf("%d",-k)}执行后输出结果是A. -2B. 2C. 0D. 110.执行下面的程序段后,变量k中的值为int k=3, s[2];s[1]=k; k=s[1]*10;A.不定值 B.33 C.30 D.10 11.若有以下说明和语句,则输出结果是______。

C语言程序设计期末试题A及答案

C语言程序设计期末试题A及答案

C语言程序设计期末试题A及答案C语言程序设计教程期末考试试卷(A卷)(考试时间90分钟,满分100分)一、选择题(本大题共20题,每题2 分,共40分)下面各题A.B.C.D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。

1. 以下不是C语言的特点的是( )A. C语言简洁、紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好2. 以下不正确的C语言标识符是( )A. ABCB. abcC. a_bcD. ab.c3. 一个C语言程序是由( )A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成4. 一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A. 有零个或多个输入B. 有零个或多个输出C. 有穷性D. 可行性5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A. intB. floatC. doubleD. 不确定6. 在C语言中,char型数据在内存中的存储形式是( )A. 补码B.反码C.源码D.ASCII码7. 有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。

#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A. 12345B. 123C. 45D. 3458. 若有以下定义int a,b; float x,则正确的赋值语句是( )A. a=1,b=2B. b++;C. a=b=5D. b=int(x);9. 以下程序的执行结果是( )#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 11,9D. 10,910. 已知字母A的ASCII码是65,以下程序的执行结果是( )#includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A. A,YB. 65,65C. 65,90D. 65,8911. 下列运算符中优先级最高的是( )A. <B. 十C. %D. !=12. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计》模拟试卷A一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C) 2ong D) LINE13、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};4、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *5、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)。

解析:strcpy(str1,str2); 后,str1[] 里是"XYZ", Z 后面有字符串结束符strcpy(str1,str2); 执行后,函数返回的是str1,因为str1[] 里是新值"XYZ", 而strlen(strcpy(str1,str2)) 就是strlen(str1的新值),所以得3。

strlen 统计到字符串结束符以前,即,不计入字符串结束符。

A) 9 B) 8 C) 5 D) 36、若用数组名作为函数调用的实参,则传递给形参的是(A)。

A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为(C)。

A)void B)double C)int D)char8、下面不能正确进行字符串赋值操作的语句是(C)。

A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF";D) char *s="ABCD";解析:这样理论上的没错的把s指针指向字符串可以改变s指针但不能改变其指向的值正确的应该是这样char s[] = "ABCDEF";或char s[8];strcpy(s, "ABCDEF");9、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(C)。

A)++p B)++(*p) C) *(++p) D) *(p+=2)解析:A是把p得地址后移一个int单位长度,即使p指向数组的第二个元素。

B是取得p当前指向的元素值然后加1,即1+1=2;C是先移动p,使其指向第二个元素,然后取得当前指针指向的元素值,即3.D是先使p指向数组的第三个元素,然后去的当前指针指向的元素的值,即5。

10、下面程序的输出结果是(B)。

int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、填空题。

(每空2分,共30分)1.设有变量说明语句:int x=1,y=2;则执行下述printf语句的输出结果是__1.000000_printf("%f\n",1.0+x/y);2.执行下述程序:#include <stdio.h>main(){int x,y;scanf("%2d%*2s%1d",&x,&y);printf("%d\n",x+y);}若从键盘输入:12345671则程序的输出结果是__17__。

解析:x,y为int类型,x的长度为2,y的长度为1,即x为12,y为5,故x+y=173.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。

请填空。

#include <stdio.h>main(){float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while (x>0){if (x>amax)amax=x;else if (x<amin)amin=x;scanf("%f',&x);}printf("\namax=%f\namin=%f\n",amax,amin);}4.设n 是整型变量,且已具有某正整数值。

根据下述数学式1114131312121+⋅++⋅+⋅+n n Λ 求s 的值并输出。

可编写如下之程序段来实现。

请填空。

int k;double s,d;s=0.0;d=1.0;k=0;do{s=s+d;__k++ ;d=1.0/(k*(k+1));} while (k<=n);printf("%f\n",s);5.执行下述程序的输出结果是___-3 -4 0 4 4 3_ 。

#include <stdio.h>main(){int a[6],i;for (i=0;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf("%3d",a[i]);}printf("\n");}解析:(i>3)为真时值为1,反之为0,6.执行下述程序的输出结果是___6___。

#include <stdio.h>main(){int a[]={2,4,6,},*ptr=&a[0],x=8,y,z;for (y=0;y<3;y++)z=(*(ptr+y)<x)?*(ptr+y):x;printf("%d\n",z);}7.执行下述程序的输出结果是_____60 __。

#include <stdio.h>main(){int a[][2]={10,20,30,40,50,60},(*p)[2];p=a;printf("%d\n",*(*(p+2)+1));}8.执行以下程序的输出结果是__10_。

#include <stdio.h>main(){int s,i,sum();for (i=1;i<=10;i++)s=sum(i);printf("s=%d\n",s);}sum(int k){int x=0;return (x+=k);}9.下述函数定义用来求出两个整数之各,并通过函数的模拟传地址调用,传回两整数相加之和值,请填空。

void add(int x,int y,____int *z ___){*z=x+y;}10.函数func的功能是将整型变量x的值转换成二进制数,并将该二进制数的每一位存入由整型指针b所指向的一维数组a,最低位存放于a[0]中,次低位存放于a[1]中,依此类推。

请填空。

void func(int x,int *b){int r;do{r=x%2;_____________=r;x/=2;} while (x);}11.以下程序中函数invert实现将数组内所有数组元素的值逆置。

比如,执行本程序将输出:10 9 8 7 6 5 4 3 2 1请填空。

#include <stdio.h>main(){int a[10]={1,2,3,4,5,6,7,8,9,10},i,n=10;invert(a,n-1);for (i=0;i<10;i++)printf("%3d",a[i]);printf("\n");}invert(int *s,int num){int *t,k;t=s+num;while (____t>s_______){k=*s;*s=*t;*t=k;s++;t--;}}12.若有以下定义和说明,则结构体变量w在内存中所占的字节数是_____ union aa{float x;float y;char c[6]; };struct st{union aa v;float w[5];double ave; } w;13.执行下述程序的输出结果是______ _______。

#include <stdio.h>struct str{float x;char *y;} *m;struct str group[3]={95.0,"Li",82.5,"Wang",73.5,"Sun"};main(){m=group;printf("%.lf,%s\n",m->x,m->y);}14.下面的程序用来统计某文件中字符的个数。

请填空。

#include <stdio.h>#include <stdlib.h>main(){FILE *fp;long num=0;if ((fp=fopen("fnam.dat","r"))==NULL){printf("Can't open this file!\n");exit(0);}while (____ _____){fgetc(fp);num++;}printf("num=%d\n",num);fclose(fp);}15.执行下述程序后,输出结果为______。

#include <stdio.h>#define FUN1(a,b) a+b#define FUN2(a,b) a-b#define CAL(a,b) a*b+a+3main(){printf("%d\n",CAL(FUN1(3,5),FUN2(4,5)));}三、修改程序(在程序出错的语句下划横线并标号,把修改后的语句写在程序之后的横线上。

每小题5分,共10分)1.下列给定程序的功能是:读入一个整数(2<=k<=10000),打印它的所有质因子(即所有为素数的因子)。

相关文档
最新文档