c语言模拟题1
C语言程序设计模拟题1
《C语言程序设计》模拟题1一、选择题: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) 0.5 D) 14.C语言中字符型(char)数据在内存中的形式存储是__D ___。
A) 原码 B) 补码 C)反码 D) ASCII码5.下列常数中不能作为C的常量的是__ D____。
A) 0xA5 B) 2.5e-2 C) 3e2 D) 2e32.66.C语言中整数-8在内存中的存储形式是__B ____。
A) 1111 1111 1111 1000 B) 1000 0000 0000 1000C) 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.已知函数abc的定义为:void abc ( ){ ....... }则函数定义中void的含义是_ A___。
A)执行函数abc后,函数没有返回值B)执行函数abc后,函数不再返回C)执行函数abc后,可以返回任意类型D)以上三个答案全是错误的9.以下程序的输出结果是_C ___。
main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++) printf("%d,",x[i][2-i]);}A) 1,5,9, B) 1,4,7, C) 3,5,7, D) 3,6,9, 10.已知:double *p[6];它的含义是__C __。
C语言程序设计模拟题-必做
C语言程序设计模拟题(1)一、选择题(1)能将高级语言程序转换成目标语言程序的是__ C____。
A)调试程序B)解释程序C)编译程序D)编辑程序(2)__A____是构成C语言程序的基本单位。
A)函数B)过程C)子程序D)子例程(3)可以在C语言中用做用户标识符的是__B___。
A)void B)as_b3 C)for D)2cdefine _123 -abc DoWORD If cas SIG(4)若有以下类型说明语句:char w; int x; float y, z;则表达式w*x+z-y的结果为__D___类型。
A)float B)char C)int D)double(5)main(){ float x=123.456;printf("%-5.2f\n",x);}以上程序输出的结果是___D___。
A)123.4 B)123.5 C)123.45 D)123.46(6)下面语句的输出结果是___C___。
printf("%d\n",strlen("\t\"\065\xff\n"));A)14 B)8 C)5 D)输出项不合法,无正常输出(7)下列程序的输出结果是__B____。
main(){ int a=0,b=0,c=0;if(++a>0| ++b>0) ++c;printf("\na=%d,b=%d,c=%d",a,b,c);}A)a=0,b=0,c=0 B)a=1,b=1,c=1C)a=1,b=0,c=1 D)a=0,b=1,c=1(8)下列程序的输出结果是__B____。
main(){ int i;for(i=1;i+1;i++){ if(i>4) {printf("%d",i++);break;}}printf("%d",i++);}A)55 B)56C)程序错误,没有输出D)循环条件永远为真,死循环(9)下列程序的输出结果是___A___。
C语模拟考试题1
C语言模拟考试题1(共100分)一、单项选择题(每小题1分,共20分)1.若已定义x和y为double类型,则表达式x=1, y=x+5/2的值是(C )。
(A) 2 (B) 3 (C) 3.0 (D) 3.52.下列正确的字符串常量是( B )。
(A) abc (B) "abc" (C) 'abc' (D) 'a'3.以下程序运行后的输出结果是(B )。
#include<stdio.h>void main( ){ int p=10;printf("%d\n", (p?p/3:p%3));}(A) 2 (B) 3 (C) 20 (D) 错误信息4.在C语言中,short类型的数据长度为2个字节,则unsinged short类型数据的取值范围是( B )。
(A) 0至255 (B) 0至65535(C) -32768至32767 (D) -256至2555.在下列定义中,不正确的是( D )。
(A) int a[10]={12,23}; (B) char *b[10];(C) char s[20]= "china"; (D) double n=9,aa[n];6.有#define f(x) x+x及int a=3; 则执行printf("%d", f(a)*f(a)); 后的输出值为(B )。
(A) 0 (B) 15 (C) 36 (D) 97.使用fseek函数可以实现的功能是(D )。
(A) 文件的输出和输入(B) 文件的顺序读写(C) 文件的随机读写(D) 改变文件位置指针的当前位置8.以下关于静态局部变量的说法正确的是(D )。
(A) 静态局部变量的作用域为程序运行的全过程(B) 静态局部变量定义在函数体之外(C) 当某一函数被调用时,系统才为它的静态局部变量临时分配存储空间(D) 存储特性定义为static的局部变量是静态局部变量9.表达式sizeof('a'+10.0)的值为( C )。
C语言程序设计模拟试题1(附答案)
C语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(B)。
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,则程序的运行结果为(C)。
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、下面不能正确进行字符串赋值操作的语句是(B )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的是 (C )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语言程序设计模拟考试试卷及答案(一)一、单项选择题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语言程序设计》模拟试卷一一、单项选择题(每题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语言模拟试题1
A.‘a’,’b’,’c’ C ‘a’,’└┘’,’b’ 4、 putchar 函数可以向终端输出一个()
B.‘a’,’b’,’└┘’ D.‘a’,‘└┘’,’c’
相关有误语法和算法的纠正。
#include<stdio.h>
int div(int m,int n)
int mul(int m,int n)
void main()
{
int a,b,c,mul1,mul2,div1,div2;
print(“请输入三个整数:\n”);
scanf(“%d%d%d”,a,b,c);
c:循环体语句一次也不执行
d:循环体语句执行一次
8、 下面有关 for 循环的正确描述为()。
a:for 循环只能用于循环次数已经确定的情况。
b:for 循环是先执行循环体语句,再判断表达式。
c:在 for 循环中,不能用 break 语句跳出循环体。
d:在 for 循环的循环体语句中,可以包含多条语句,但必须用大括弧括起来。
试题一
一、 选择题(每小题 2 分,共 20 题) 1、下列变量说明中,正确的是()
a、char a b c ;
b、char a; b; c;
c、int x;z;
d、int x,z;
2、设 x=2.5,y=4.7,a=7,算术表达式 x+a%3*(int)(x+y)%2/4 的值为()
a、2.5
b、7
b:int t [10] d:int [10];
14、下面正确的初始化语句是()。
a:a[]=(1,2,2); c:b[5]={1};
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语言模拟试题1
C语言模拟试题1C语言复习题一一、单项选择1.对于语句scanf (“%f□%f,c=%f”,&a,&b,&c ); ,其合法的输入形式为()。
(A)□56.7□2.3□15.6 (B)56.7,2.3,15(C)56.7□□2.3,15.6 (D)56.7□□□2.3,c=152.整型变量x=1,y=3,经下列计算后,x的值不等于6的是( ) 。
(A)x=(x=1+2,x*2) (B) x=y*(y/2) (C)x=10-(--y)-(x++) (D) x=y>2?6:53.C语言中,逻辑”真”等价于( )。
(A)大于零的数 (B)大于零的整数 (C)非零的数 (D)非零的整数4. 执行下面程序, 退出循环后,x和s的值为( ).int x=10,s=0;while(x>0) {s+=x; x--; };(A) 0和45 (B) 1和45 (C)1和55 (D)0和555.与如下定义完全等价的形式是( )。
char str[ ]= “China”;(A)char str[ ]= {‘C’,’h’,’i’,’n’,’a’,’\0’}; (B) char str[ ]= {‘C’,’h’,’i’,’n’,’a’ };(C) char str[ ]= {’\0’,‘C’,’h’,’i’,’n’,’a’ } (D) char str[ ]= {‘C’,’h’,’i’,’n’,’a’,’\0’, ’\0’}6.以下对二维数组不正确初始化是()。
A.char a[2][3]={0}; B.char a[ ][3]={{1,2},{0}};C.char a[2][3]={{1,2},{3,4},{5,6}}; D.char a[ ][3]={1,2,3,4,5,6} 7.下面程序段的运行结果是()。
char s[6]={‘A’, ‘B’, ‘\0’, ‘C’, ‘D’ , ‘\0’};printf(“%s”,s);A.A’, ‘B’ , B.AB C.ABC D.AB C8.以下说法不正确的是()。
c模拟考试试题及答案
c模拟考试试题及答案C模拟考试试题及答案试题一:C语言基础1. C语言中,一个整型变量int所占的字节数是多少?A. 1字节B. 2字节C. 4字节D. 8字节2. 以下哪个是C语言中的合法标识符?A. 3variableB. variable3C. -variableD. variable#33. 在C语言中,以下哪个语句可以正确地声明并初始化一个整型数组?A. int array[5] = {1, 2, 3, 4, 5};B. int array[5] = {1, 2, 3};C. int array[] = {1, 2, 3, 4, 5};D. int array = {1, 2, 3, 4, 5};4. C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if x == 5D. if (x == 5) else5. 在C语言中,以下哪个函数用于计算两个数的和?A. sum()B. add()C. plus()D. None of the above答案:1. C2. B3. A4. B5. D试题二:C语言控制结构6. C语言中,哪个关键字用于实现循环结构?A. forB. whileC. do-whileD. All of the above7. 以下哪个是C语言中的无限循环?A. for(;;)B. while(1)C. do{}while(0)D. Both A and B8. 在C语言中,break语句的作用是什么?A. 继续下一次循环B. 跳出当前循环C. 退出程序D. 继续执行循环体9. 在C语言中,switch语句最多可以有多少个case?A. 1B. 2C. 10D. 没有限制10. 以下哪个是C语言中的选择结构?A. if-elseB. switch-caseC. A and BD. None of the above答案:6. D7. D8. B9. D10. C试题三:C语言函数11. C语言中,函数的返回类型是什么?A. 必须与函数名相同B. 可以是任意类型C. 必须与函数内部的代码匹配D. 必须声明在函数名之前12. 以下哪个是C语言中正确的函数声明?A. int myFunction();B. void myFunction(int x);C. int myFunction(int x) { ... }D. Both A and B13. 在C语言中,函数的参数可以是以下哪种类型?A. 常量B. 变量C. 表达式D. 所有选项都不正确14. 以下哪个是C语言中正确的函数调用?A. myFunction(5);B. myFunction(x++);C. myFunction("Hello");D. D. None of the above15. C语言中,以下哪个是递归函数的特点?A. 函数内部没有调用自身B. 函数内部调用了其他函数C. 函数内部调用了自身D. 函数没有返回值答案:11. D12. D13. B14. A15. C结束语:本模拟考试试题及答案旨在帮助考生复习C语言的基础知识、控制结构和函数使用。
C语言程序设计模拟1
《C 语言程序设计》样卷一一、选择题()[1]一个C 程序总是从______A )主过程开始执行B )主函数开始执行C )子程序开始执行D )主程序开始执行 [2]若有代数式2lnxcosx/3x,则正确的C 语言表达式是______A)2*ln(x)*cos(x)/3*xB)2*ln(x)*cos(x)/(3*x)C)2*log(x)*cox(x)/3*xD)2*log(x)*cos(x)/(3*x)[3]若有以下类型说明语句:char a; int b; flaot c; ouble d; 则表达式a*b+d-c 的结果类型为______A)float B)char C)int D)double[4]已知字母A 的ASCII 码为十进制数65,变量ch1为字符型,则执行语句 ch1=`A`+`6`-`3`; 后,ch1中的值是______A)D B )68 C )一个不确定的值 D )C[5]putchar 函数可以向终端输出一个______A)整型变量值 B)实型变量值 C)字符串 D)字符或字符型变量值[6]已知a,b,c 为int 型变量,若有输入语句:scanf (“a=%db=%dc=%d ”, &a,&b,&c) ; 为使a 值为1,b 值为3,c 值为2,从键盘输入数据的正确型式应当是______A )123<回车> B) a=1b=3c=2<回车> C) 1<回车> 3<回车> 2<回车> D) a=1<回车> b=3<回车> c=2<回车>[7]判断char 型 变量c1是否为大写字母的正确表达式______A) ‟A‟<=c1<=‟Z‟ B) (c1>=‟A‟)&(c1<=‟Z‟) C) (c1>=‟A‟)&&(c1<=‟Z‟) D) (…a<=c1‟)AND(…Z‟>=c1) [8]下面程序所表示的函数学关系是x=-1; if(a!=0) if(a>0)x=1;else x=0; A)⎪⎩⎪⎨⎧>=<=0)1(a 0)0(a 0)1(a -x B)⎪⎩⎪⎨⎧>=<=0)0(a 0)1(a -0)1(a x C)⎪⎩⎪⎨⎧>=<=0)1(a 0)1(a -0)0(a x D)⎪⎩⎪⎨⎧>=<=0)0(a 0)1(a 0)1(a -x[9]以下关于switch 语句和break 语句的描述中正确的是______A ) 在switch 语句中必须使用break 语句B ) break 语句只能用于switch 语句中C ) break 语句只能用于循环体中D ) 在switch 语句中使用break 语句或continue 语句作用相同[10]以下对一维数组a 的正确说明是______A )char a(10); B) int a[ ]; C) int k=5,a[k]; D) char a[ ]={…a‟,‟b‟,‟c‟};[11]若有说明语句: int a[ ][3]={1,2,3,4,5,6,7,8}; ,则a 数组的行数为______A)3 B)2 C)无确定值 D)1[12]若二维数组y 有m 列,则在y[i][j]前的元素个数为______A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1[13]C 语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______A )float 型 B) int 型 C) long 型 D) double 型[14]以下有关宏替换的叙述不正确的是______A) 宏名不具有类型 B) 宏名必须大写字母表示 C) 宏替换只是字符替换 D) 宏替换不占用运行时间 [15]设已有说明语句:int i=5,*q;,若要建立如图所示的存储结构,以下正确的赋值语句是:_A) q=i; B) *q=i; C)q=&i; D)*q=&i;[16]若有定义:int x[5],*p=x; ,则不能代表数组首地址的是______ A )x B)&x[0] C)&x D)p[17]当定义一上结构体变量时系统分配给它的内存是______A ) 结构中每一个成员所需的内存量B ) 结构中最后一个成员所需的内存量C ) 结构体成员中占内存量最大者所需的容量D ) 结构体中各成员所需内存量的总和[18]若有以下说明和语句,则对结构变量std 中成员id 的引用方式不正确的是______struct work {int id; int name; }std,*p; p=&std;A) std.id B) *p.id C) (*p).id D) p->id[19]若要使指针变量p 指向一个动态开辟的字符型存储单元,则①中应选择填入的是______int *p;p=①malloc(sizeof(char));A) char B) char* C) (*char) D) (char*) [20]下面对typedef 的叙述中不正确的是______A) 用typedef 不能定义变量名 B) 用typedef 可以定义新的数据类型C) 用typedef 只是将已存在的类型用一个新的标识符来代表 D) 使用typedef 有利于程序的通用和移值 二、填空题[1]C 源程序的基本单位是[2]在C 语言中,输入操作可以由库函数 完成,输出操作可以由库函数 完成。
C语言程序设计模拟试题1
C语言程序设计模拟试题1C语言程序设计模拟试题.一、填空题.1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。
2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。
3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。
4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6.5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x<z‖y<z。
< p="">6. 若for循环用以下形式表示:for(表达式1;表达式2;表达式3) 循环体语句则执行语句for(i=0;i<3;i++) printf(“*”);时,表达式1执行1次,表达式3执行3次。
7.说明语句:int a,*p; 定义了一个整型变量a和一个指针变量p,使指针变量p指向整型变量a的语句是:p=&a,此时*p与变量a等价。
8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e9. C程序是由函数组成的。
一个C程序由一个main()函数和若干个子函数构成。
函数的构成可分为两部分:函数说明(或函数头) 和函数体。
10.标识符是指程序中的符号常量、变量、函数等对象的名称。
在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。
11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。
实型常量有小数形式和指数两种表示方法。
12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。
C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。
二、单项选择题)1.一个C语言的执行是从 A(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始, 到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 C(A) 必须为字母 (B) 必须为下划线(C) 必须为字母或下划线 (D) 可以是字母,数字和下划线中的任一种字符3. 以下选项中属于C语言的数据类型是 DA)复数型 B)逻辑型 C)集合型 D)双精度型4.以下叙述正确的是 C(A) 在C程序中,main函数必须位于程序的最前面(B) C程序的每行中只能写一条语句(C) C语言本身没有输入输出语句(D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误5. 下列可以正确表示字符型常量的是 BA) "a" B) 't' C) "\n"6.下列形式的常数中,C程序不允许出现的是 A 。
C语言模拟测试题一及答案
模拟题一一、选择题1.下列说法正确的是()。
A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.C语言中不能用来表示整常数的进制是()。
A)十进制B)十六进制C)八进制D)二进制3.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:()。
A)整型实型字符型B)整型数组指针C)数组结构体共用体D)指针逻辑型空类型4.C语言规定标识符由()等字符组成。
A)字母数字下划线B)中划线字母数字C)字母数字逗号D)字母下划线中划线5.若有说明语句:char c= ‘\64’ ; 则变量C包含()。
A)1个字符B)2个字符C)3个字符D)说明不合法,C值不确定6.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是()。
A)2.500000 B)3.500000 C)4.500000 D)5.0000007.设有如下定义和执行语句,其输出结果为()。
int a=3,b=3;a = --b + 1; printf(“%d %d”,a,b);A)3 2 B)4 2 C)2 2 D)2 38.以下表达式: 2+’a’+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为()。
A)int B)float C)char D)double9.C语言中,运算对象必须是整型数的运算符是()。
A)%B)\C)% 和\D)**10.有如下语句:printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终结果为()。
A)COMPUTER ,CMP . B)COMPUTER, CMP.C)COMPU, CMP. D)COMPU, CMP .11.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。
c语言模拟试题
c语言模拟试题C语言模拟试题一、选择题(每题2分,共20分)1. 以下哪个是C语言的关键字?A. intB. IntegerC. INTD. integer2. C语言中,用于定义一个整型变量的关键字是:A. varB. defineC. letD. int3. 以下哪个不是C语言的标准输入输出库函数?A. printf()B. scanf()C. coutD. getchar()4. C语言中,用于实现循环的关键字是:A. loopB. whileC. doD. repeat5. 在C语言中,以下哪个是正确的数组声明语句?A. int numbers[];B. int numbers(10);C. int numbers = 10;D. int numbers = {1, 2, 3};6. 以下哪个是C语言中正确的字符串定义方式?A. string str = "Hello";B. char str[] = "Hello";C. char str = "Hello";D. string str[] = "Hello";7. C语言中,用于定义函数的关键字是:A. functionB. funcC. defD. void8. 以下哪个是C语言中正确的条件语句?A. if (x == y)B. switch (x)C. case x:D. default9. C语言中,用于定义指针的符号是:A. &B. *C. ^D. %10. 在C语言中,以下哪个是正确的结构体声明语句?A. struct Student {int age; char name[50];};B. struct {int age; char name[50]} student;C. type Student {int age; char name[50]};D. Student struct {int age; char name[50]};二、填空题(每空2分,共20分)11. 在C语言中,一个变量的声明必须在____的开始。
C语言模拟题
C语言模拟题(一)一、选择题1、以下字符中不是转义字符的是( A)。
A '\c'B、'\b'C '\\'D '\a'2、设a=12,且a定义为整型变量。
执行语句a+=a-=a*=a;后a的值为(A)A 0B、144C 132D 123、已定义floatx=1.25,y=3.37;根据下面的输出结果,正确的输出语句是(C).y+x=4.62,y-x=2.12A printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后,b的值为(A).ints=35;chart='A';intb;b=((s&&4)&&(tv'a'));B、3C 2D 05k是整型,则以下程序段的执行结果是:(B)k=-3;if(kv=O)printf("####") elseprintf("&&&&");A ####B、有语法错误,无结果C &&&&D ####&&&& 6设j和k都是int类型,则下面的for循环语句(D) for(j=0,k=0;jv=9&&k!=876;j++)scanf("%d",&k);A最多执行9次B、是无限循环C循环体一次也不执行D最多执行10次7以下正确的描述是(A).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C从多层嵌套的外层循环中退出时,只能使用goto语句D在循环体内使用break和continue语句的作用相同8以下能对一维数组a进行正确初始化的语句是(B)。
C考试模拟题1及参考答案
考试模拟题1及参考答案考试模拟题1一、单项选择题(共20题,每题1分,共20分。
)1. 以下叙述不正确的是。
A. 一个C源程序可由一个或多个函数组成B. 在C程序中注释说明只能位于一条语句的后面C. C程序的基本组成单位是函数D. 一个C源程序必须包含一个main函数2. 若变量已正确定义并赋值,表达式()不符合C语言语法。
A. 3%2.0B. a*b/cC. 2, bD. a/b/c3. 六种基本数据类型的长度排列正确的是()。
A. bool=char<int≤long=float<doubleB. char<bool=int≤long=float<doubleC. bool<char<int<long<float<doubleD. bool<char<int<long=float<double4. 下面程序段的运行结果是()。
char a[7]= "abcdef",b[4]= "ABC";strcpy(a,b);printf("%c",a[5]);A. 空格B. \0C. eD. f5. 设int a=9,b=8,c=7,x=1;则执行语句if(a>7) if(b>8) if(c>9)x=2;else x=3;后x的值是()。
A. 2B. 1C. 0D. 36. 对以下程序,当输入数据的形式为12a345b789↙,正确的输出结果为()。
int main(){char c1,c2;int a1,a2;c1=getchar(1); scanf("%2d",&a1);2c2=getchar(a); scanf("%3d",&a2);345printf("%d,%d,%c,%c\n",a1,a2,c1,c2); ,,,return 0;}A. 12,345,a,bB.C. 2a,45b,1,3D. 2,789,1,a7. 以下程序的输出结果是:()。
c语言模拟题1(有答案)
模拟题1一、单选题(本大题10小题,每题2分,共20分)1.C语言表达式a=15,a%6的值是_______AA.3B.5C.非法表达式D.152.循环语句中,continue语句的作用是______AA.结束本次循环B.跳出子函数C.从本循环体内跳出D.终止程序3.定义一个返回值为int 的无参函数cacul的正确语句是______CA.void cacul(void);B.void cacul(int);C.int cacul();D.int cacul;4.下面运算优先级按从高到低的排列正确的是_____AA.条件运算赋值运算逗号运算B.算术运算逻辑运算关系运算C.逻辑运算关系运算赋值运算D.位运算算术运算赋值运算5.以下叙述中,正确的是_____BA.C程序中,main函数必须位于程序最前面B.C语言本身没有输入和输出语句C.在对一个C程序进行编译的过程中发现注释中的拼写错误D.C程序中每行中只能写一个语句6.数组age[2][4]的非法引用是________AA.age[3][0]B.&age[0][0]C.age[0][1]D.age[1][1+1]7.变量定义int x, a=3, b=4;则语句x = ( a = 0 ) && ( b = 8 ); 执行之后各变量的值为______BA.x =0, a=3, b=4B.x =0, a=0, b=4C.x =0, a=3, b=8D.x =0, a=0, b=88.下列_________语句正确定义字符数组。
CA.char x[4]= "hello"B.char x[5]= "hello"C.char x[]= "hello"D.char x[4+1]= "hello"9.下面四个程序段中,不能输出23个*号的程序段是________DA.for(int i=0;i<23;i++) putchar(‘*’)B.for(int j=23;j>0;j--) putchar(‘*’)C.int k=23;while (k>0) {putchar(‘*’);k--}D.int i=0;while(i>23) {putchar(‘*’);i++;}10.若x是整型变量,y是单精度浮点型变量,值为10,表达式x = y/4 的值是_____C 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ 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 语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结 构。 ( )
z=m%10; if( (2) )
printf(“%6d”,m ) ;
}
}
2、输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母, 则变成大写字母;其它字符不变。请补充()内缺省的内容。 #include <stdio.h> main( ) { char ch;
ch=getchar( ); if (___(3)____) else if(__(4)___) else } 3、以下程序使用递归法求 n!, 请填空。 main( ) { int n, y; a integer number”); { ch=ch+32; { ch=ch-32; putchar(ch); putchar(ch); } putchar(ch);}
1、请编程实现下列分段函数的值:
(1-x) y= 1-x
1/ 2
(x≤0) (x≤1) (x>1)
(1-x)2
2、百钱百鸡问题:用 100 元钱买 100 只鸡,公鸡每只 5 元,母鸡每只 3 元,小 鸡每 3 只 1 元,要求每种鸡至少买 1 只,试编程求各种鸡各买多少只。 3、输入 20 位学生的成绩,分别用函数实现: (1)将 20 位学生的成绩按从高到低进行排名。 (2)求所有成绩的平均分,并输出所有成绩中比平均分低的分数。
8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y;
scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*741
C) 74
9、执行下列程序段后输出的结果是()。
x = 9; while (x > 7) { A) **** printf(“*”); x- -; } B) *** C) ** D) *
printf(“input
scanf(“%d”,&n); y=(5); printf(“%d! } int { fac(int int f; n) = %6d”, n, y );
if(n<0) {printf(“n<0” data error); f=-1;} else if(n==0||n==1) else f=(6) } ; f=1;
6、以下能正确定义一维数组的是()。 A) int C) char a[5]={0,1,2,3,4,5}; a[ ]=”012345”; B) int D) char a[5]=”012345”; a[5]={0,1,2,3,4,5};
7、以下语句中能正确定义变量并赋初值的是()。 A) char C) double c=65; x=12.3e3.6; B) float D) int f=f+1.1; m=n=2.0;
6、字符串是 C 语言中一种基本数据类型,字符串总是以‘\n’作为结束标志。 ( ) 7、在 C 语言中,程序的最小编译单位是源文件,最小功能单位是函数。( 8、在定义指针型变量时指定的基类型为该指针变量所能指向的变量类型。 ( ) )
9、结构体与数组一样,属于构造类型数据,且在结构体中的各个成员的类型也 可不同。( ) 10、在发生函数调用时,主~被调函数中的参数可以是简单变量,也可以是数组 名,当采用数组名作为参数时其数据传递方式为单向值传递。( )
参考答案:
一、 单项选择题 1、D 2、C 3、B 4、B 5、A 6、C 7、A 8、D 11、A 12、A 13、A 14、B 15、B 二、判断题 1、T 2、F 3、F 4、F 5、T 6、F 7、T 8、T 三、程序填空题 1、(1) m/10%10 (2) m==x*x*x+y*y*y+z*z*z 2、(3) ch>’A’&&ch<’Z’ (4)ch>’a’&&ch<’z’ 3、(5) fac(n) (6)n*fac(n-1) 四、读程序写结果 1、 x=3,a=2,b=3 2、 -1 3、 A BBB CCCCC 4、 1 2 1 3 3 1 4 6 4 1 5、 5 五、编程题 1、 #include<stdio.h> #include<math.h> void main() { int x; double y; printf("Please input x value:"); scanf("%d",&x); if(x<=0) y=sqrt(1-x); else if(x<=1) y=1-x; else y=(1-x)*(1-x); printf("y=%f\n",y); } 2、 #include<stdio.h> void main() { int x,y,z;/*分别代表所买的公鸡数,母鸡数,小鸡数*/
for(j=1; j<i ; j++ ) a[i][j] =a[i-1][j-1] + a[i-1][j]; for(i=0; i<5; i++) { for( j=1; j<=i; j++) printf(“%5d”,a[i][j]); printf(“\n”);} }
5、 以下程序运行后, 如果从键盘上输入 ABCDE<回车>, 则输出结果为 #include<stdio.h> #include<string.h> int func(char str[]) { int num =0; while(*(str+num)!='\0') num++; return(num); } main( ) { char str[10],*p=str; gets(p); printf("%d\n",func(p)); } 五、 编程题(本大题 28 分,第一题 8 分,第二题 9 分,第三题 11 分)
return( f );
四、
读程序写出结果(本大题共 5 道小题,每小题 4 分,共 20 分)
1、写出下面程序的执行结果 #include <stdio.h>
main( ) { int a,b,x;
x=(a=3,b=a--); printf(“x=%d,a=%d,b=%d”,x,a,b); 2、以下程序的运行结果是 #include <stdio.h> main( ) { int a = 2, b = 3, c ; }
2、C 语言规定:标识符应由字母、下划线和数字组成,且可以是上述字符的任 意组合,其长度也是任意的。( )
3、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数 再决定。( ) 4、 if 语句有多种使用方法, 其中 if 子句和 else 子句也都可以单独使用。 ( )
5、for 语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省, 但表达式内的分号却不可以却省。( )
9、C
10、D
9、T
10、F
for(x=1;x<99;x++) for(y=1;y<99;y++) for(z=1;z<99;z++) if((x*5+y*3+z/3==100)&&(z%3==0)&&(x+y+z==100)) printf("公鸡数为%d 只,母鸡数为%d 只,小鸡数为%d 只\n",x,y,z); } 3、 #include<stdio.h> void sort(int b[20]) { int i,j; int temp; for(i=0;i<20;i++) for(j=0;j<20;j++) { if(b[i]<b[j]) {temp=b[i];b[i]=b[j];b[j]=temp;} } for(i=0;i<20;i++) printf("%d ",b[i]); printf("\n"); } double ave(int c[20]) { double sum=0.0; int i; for(i=0;i<20;i++) sum=sum+c[i]; sum=sum/20; return sum; } void main() { int i; int a[20]; double pingjun; printf("Please input 20 students score!\n"); for(i=0;i<20;i++) { printf("Please input %d student score:",i+1); scanf("%d",&a[i]); }
《C 语言程序设计》模拟试卷一 一、 单项选择题(每题 2 分,共 30 分)
1、下列有关 C 语言的叙述中错误的是()。 A) C 语句必须以分号结束 B) 任何一个 C 程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C 程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1
12、在 C 程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A)void B)double C)int D)char