C语言程序设计模拟题
单项选择
1 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是(A)。
A、2.0 B、2.5 C、1 D、2
2 执行下面程序中的输出语句后,输出的值是:( ), main(){int a=5; printf(\
A、20` B、65 C、10 D、15
3 以下不正确的if语句形式是()。
A、if(x B、if(x!=y) scanf(\C、if(x>y&&x!=y); D、if(x==y) x+=y; 4 执行下面程序段后,s的值是( )。 int s=5; switch(++s) {case 6: case 7:s+=2; case 8: case 9:s+=2; } A、8 B、7 C、10 D、6 5 下面程序段运行的结果是( ). x=-1; do{ x=x*x; }while (!x); A、循环执行一次 B、有语法错误 C、死循环 D、循环执行两次 6 下面程序是从键盘输入4位正整数,输入0或负数时结束循环.A处填写内容是( )。. #include \main() { int num; do{ scanf(\ }while(___A___); } A、!num B、num>0 C、num==0 D、!num!=0 7 程序main( ){char s[10]; s=\的运行结果(以下U代表空格)是( ). A、输出abcd B、输出abcdUUUUU C、编译不通过 D、输出a 8 函数的形式参数系统默认存储类型说明是()。 A、static B、extern C、register D、auto 9 若file1中包含file2,file2中要用到file3,若file2中不用 #include \则在file1.c中应进 行如下定义( ). A、#include \和 #include \B、#include \C、#include \ D、#include \和 #include \ 10 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。 A、*p=*q; B、n=*q; C、p=n; D、p=q; 判断 1 for循环的三个表达式中间用逗号相分隔. 2 在C程序中,逗号运算符的优先级最低 3 设i=1,j=2,k=3,则逻辑表达式!(i>j)||!k&&1的值为0. 4 for循环的三个表达式都可以省略. 5 do-while循环的while后的分号不可以省略. 6 若定义 int array[5] , *p; 则赋值语句 p=array;是正确的. 7 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5. 8 用一个#include命令可以同时指定数个被包含文件. 9 下列的语句是正确的:int **p; 10 两个类型相同的结构体变量,可以互相赋值. 填空 1 已知:int i=8,j=10,m,n;m=++i;n=j++;问语句执行后m=_____,n=_____。 2 当a=1,b=2,c=3时,执行以下程序段后b=_____. if (a>c) b=a; a=c; c=b; 3 以下程序的输出结果为_____, #include \void main() {int a;for(a=0;a<10;a++);printf(\ 4 复制字符串的库函数是_____,只写函数名即可. 5 将file_point定义为文件指针的语句为_____,写出应包含的头文件语句_____。 程序设计 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的结论 信息。 例如:7是素数,8不是素数。请编写fun函数。素数是 仅能被1和自身整除的数。 注意: 请在Begin 和 End 注释行之间填写代码, 所有注释语句都不能删除。 如果是素数返回1,否则返回0 -------------------------------------------------*/ #include \#include \int fun(int n) { /*********Begin**********/ /********** End **********/ } void main() { void TestFunc(); int m,flag; printf(\ scanf(\ flag=fun(m); if(flag) printf(\ else printf(\ TestFunc(); } void TestFunc() { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(i=0;i<10;i++) { fscanf(IN,\ iOUT=fun(iIN); fprintf(OUT,\ } fclose(IN); fclose(OUT); } 答案: 单选 1~5 AABCA 6~10 BCDDC 判断 1~5 NYNYY 6~10 YNNYY 填空 1 9;10 2 2 3 10 4 strcpy 5 FILE *file_point; FILE *file_point; #include
相关推荐: