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语言模拟考试试题及答案C语言模拟考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable#name答案:B2. 下列哪个选项是C语言中的关键字?A. charB. variableC. ifD. string答案:C3. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. 在C语言中,以下哪个语句用于定义一个整型变量?A. int var;B. float var;C. double var;D. char var;答案:A5. 下列哪个选项是C语言中的控制结构?A. switch-caseB. if-elseC. for-loopD. All of the above答案:D6. 在C语言中,哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. None of the above答案:D(注:C语言标准库中没有sum()函数)7. 以下哪个选项是C语言中数组的正确声明方式?A. int array[10] = {1, 2, 3};B. int [10] array = {1, 2, 3};C. Both A and BD. None of the above答案:C8. 在C语言中,哪个函数用于将整数转换为字符串?A. itoa()B. atoi()C. printf()D. sprintf()答案:A9. 下列哪个选项是C语言中正确的函数定义?A. int function(int a, int b) { ... }B. int function(int a; int b) { ... }C. int function(int a, int b) { ... }D. int function(int a, b) { ... }答案:C10. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:D二、填空题(每空2分,共20分)11. 在C语言中,使用____关键字可以定义一个函数。
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语言-模拟考试题
C语言模拟试题选择题(1)1.若有下列定义:char c[3],*pc=c; 则对c数组元素地址的正确引用是:A. &c[3]B. pc[3]C. pc+2D. &c2.执行语句printf(“%d\n”,strlen(“abc\x41\n”));输出结果是:A. 5B. 7C. 3D. 43设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为:struct student{char name[20];int age;char sex;}stu[5], *p;p=stu;A. scanf("%s", stu[0].name);B. scanf("%d", p->age);C. scanf("%c", &p->sex);D. scanf("%d", &stu[0].age);4若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为:A. 0B. 1C. 2D. 35若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则执行此语句后,a[2][1]得到的初值是:A. 4B. 2C. 6D. 86若有int a=1,b=4,c=3,d=2;语句,则执行完该语句后,条件表达式a<b?a:c<d?c:d的值为:A. 1B. 2C. 3D. 47putchar()函数可以向终端输出一个:A. 整型变量表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值8下列各语句中正确定义了数组的是:A. int a[5],b[2,3];B. char str(30);C. int x[];D. int x[5]={1,2,3};9将整型变量a、b中的较大值为变量c赋值,下列语句中正确的是:A. c= =(a>b)? a:b;B. c=(a>b)?a:b;C. c=if(a>b)a else b;D. (a<b)?c=a:c=b;10若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是:A. 1B. 2C. 2.0D. 2.511以下语句或语句组中,能正确进行字符串赋值的是:A. char s[10]; s="right!";B. char *sp="right!";C. char s[10]; *s="right!"D. char *sp; *sp="right!";12若int a[ ][4]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是:A. 1B. 2C. 3D. 无确定值13若要求以下程序的输出结果是a=5,b=4,则输入数据的形式应该是:#include “stdio.h”main(){ int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b); }A. 5 4B. 5,4C. 5 b=414以下运算符中,优先级最高的是:A. <=B. &&C. =D. ++15以下对C语言函数的描述中,不正确的是:A. C语言中,函数可以嵌套定义B. C语言中,函数可以递归调用C. C语言中,函数可以没有返回值D. C语言程序由函数组成16若有以下定义和语句,则不能访问数组元素的表达式是:int i=2,*p,a[ ]={1,2,3,4,5};p=a;A. *(a+i)B. a[p-a]C. p+iD. *(&a[i])17C语言中NULL表示:A. 空指针B. 变量未找到C. 字符串的结束符D. 文件的结束符18以下程序的运行结果是:#include "stdio.h"main()if (m++>5) printf("%d\n",m);else printf("%d\n", m--);}A. 4B. 5C. 6D. 719以下程序的运行结果是:#include "stdio.h"main(){int a[][3]={{1,2,3},{4,5},{6},{0}};printf("%d,%d,%d\n",a[1][1],a[2][1],a[3][1]); }A. 3,2,1B. 5,0,0C. 4,1,0D. 1,5,020下面程序的运行结果是:#include "stdio.h"main(){int a[10]={2,4,6,8,10,12,14,16,18},*p;p=a+5;printf ("%d,%d\n",*(p+1),*++p+1); }A. 16,15B. 14,16C. 16,18D. 15,1421以下程序的输出结果是:#include "stdio.h"fun2( int a,int b){ int c;c=a*b%3;fun1(int a,int b){ int c;a+=a;b+=b;c=fun2(a,b);return c*c;}main(){ int x=11,y=19;printf("%d\n", fun1(x,y));}A. 3B. 5C. 4D. 622以下程序运行后的输出结果是?#include "stdio.h"#define SQR(x) x*xmain(){ int a,k=3;a=++SQR(k+1);printf("%d\n",a); }A. 7B. 8C. 9D. 1023执行语句for(i=10;i>0;i--);后,变量i的值为:A. 10B. 0C. 9D. 124下列i,j,k 均为整型变量,选项中不正确的C语言赋值语句是:A. i+1=k;B. i=j=k=1;C. i=j+=++k;D. j=i+1==i++;25设有语句int a[10]={0,l,2,3,4,5,6,7,8,9},*p=a;则不能对a数组元素的正确引用是:A. a[p-a]B. *(*(a+5))C. p[5]D. *(&a[5])26已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是:A. 数组a和b的元素个数相同B. a数组元素少于b数组C. a数组元素多于b数组D. 上述说法都不对27以写方式打开二进制文件my.dat的正确写法是:A. fopen(“my.dat”,”rb”);B. fopen(“my.dat”,”r”);C. fopen(“my.dat”,”wb”);D. fopen(“my.dat”,”w”);28对于定义struct sa{int x;float y;}data,*p=&data;请从下列候选答案中,选择变量data的x成员的正确引用:A. (*p).dataB. (*p).xC. p->data.xD. p.data.x29循环语句的循环体中执行continue语句,其作用是:A. 立即终止程序执行B. 继续执行continue语句之后的循环体各语句C. 结束本次循环D. 跳出循环30定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用:A. scanf(“%f”,&a);B. scanf(“%5.2f”,a);C. scanf(“%6.2f”,&a);D.scanf(“%f”,a);选择题(2)1.以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x))C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在2以下关于C语言的叙述中正确的是A. C语言中的注释不可以夹在变量名或关键字的中间B. C语言中的变量可以在使用之前的任何位置进行定义C. 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D. C语言的数值常量中夹带空格不影响常量值的正确表示3以下C语言用户标识符中,不合法的是A. _1B. AaBcC. a_bD. a-b4若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A. a=a++,i++;B. i=(a+k)<=(i+k);C. i=a%11;D. i=!a;5有以下程序#include<stdio.h>main() {char a,b,c,d; scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据:(<CR>代表回车)12<CR>34<CR>则输出结果是A. 1234B. 12C. 123D. 12346以i关于C语言数据类型使用的叙述中错误的是A. 若要准确无误差的表示自然数,应使用整数类型B. 若要保存带有多位小数的数据,应使用双精度类型C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型7若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A. 1B. 0C. 2D. 不知道a的值,不能确定8以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A. switch(a){case:a=b;break;default:a++;}B. switch(a==1){case 0:a=b;break;case 1:a++;}C. switch(a){default:a++;break;case 1:a=b;}D. switch(a==1){case 1:a=b;break;case 0:a++;}9有如下嵌套的if语句if (a<b)if(a<c)k=a;else k=c;elseif(b<c) k=b;else k=c;10以下选项中与上述if语句等价的语句是A. k=(a<b)?a:b;k=(b<c)?b:c;B. k=(a<b)?((b<c)?a:b):((b>c)?b:c);C. k=(a<b)?((a<c)?a:):((b<c)?b:c)D. k=(a<b)?a:b;k=(a<c)?a:c;11有以下程序#include<s七dio.h>main(){int i,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A. m=6B. m=4C. m=2D. m=512有以下程序#include<stdio.h>main(){int a=l,b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A. 9,18B. 8,11C. 7,11D. 10,1413有以下程序,其中k的初值为八进制数#include <stdio.h>main(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A. 12B. 11C. 10D. 914以下关于return语句的叙述中正确的是A. 一个自定义函数中必须有一条return语句B. 一个自定义函数中可以根据不同情况设置多条return语句C. 定义成void类型的函数中可以有带返回值的return语句D. 没有return语句的自定义函数在执行结束时不能返回到调用处15下列语句组中,正确的是A. char *s;s="Olympic";B. char s[7];s="Olympic";C. char *s;s={"Olympic"};D. char s[7];s={"Olympic"};16下列选项中,能正确定义数组的语句是A. int num[0..2008];B. int num[];C. int N=2008;int num[N];D. #define N 2008int num[N];17有以下程序#include <stdio.h>void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A. b,B,b,AB. b,B,B,AC. a,B,B,aD. a,B,a,B18若有定义int(*Pt)[3];,则下列说法正确的是[D]A. 定义了基类型为int的三个指针变量B. 定义了基类型为int的具有三个元素的指针数组ptC. 定义了一个名为*pt、具有三个元素的整型数组D. 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组19设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A. (*s)[3]B. *(s+3)C. *s[3]D. *s+320有以下程序#include<stdio.h>main(){int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]];printf("%d\n",s);}程序运行后的输出结果是A. 6B. 10C. 11D. 1521有以下程序#include <stdio.h>main(){int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A. 1B. 3C. 2D. 522若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A. 5 5B. 10 5C. 10 7D. 5 823有以下程序#include <stdio.h>#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;i<N/2;i++)printf("%d",a[i]);printf("\n");}程序运行后的输出结果是A. 1313B. 2234C. 3234D. 123424有以下程序#include <stdio.h>int f(int t[],int n);main(){int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A. 4B. 10C. 14D. 625有以下程序#include <stdio.h>int fun(){ static int x=1;x=x*2; return x;}main(){int i,s=1;for(i=1;i<=2;i++) s=fun();printf("%d\n",s);}程序运行后的输出结果是A. 0B. 1C. 4D. 826有以下程序#include <stdio.h>#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A. 0B. -12C. -20D. 1027设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A. data2=data1;B. data2=(2,6)C. data2.real=data1.real;D. data2.real=data1.unreal;28有以下程序#include <stdio.h>#include <string.h>struct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A. 1001,zhangDa,1098.0B. 1002,changRong,1202.0C. 1001,ehangRong,1098.0D. 1002,ZhangDa,1202.029有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;} s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A. *pw.year=1980;B. w.year=1980;C. pw->year=1980;D. w.s.year=1980;30有以下程序#include <stdio.h>main(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A. 0B. 1C. 2D. 331有以下程序#include <stdio.h>main(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A. abcB. 28cC. 28D.因类型不一致而出错选择题(3)1、以下叙述中正确的是:A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行内只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中2以下叙述中正确的是:A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行内只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中3以下选项中不属于字符常量的是:A. ′C′B. "C"C. ′\xCC′D. ′\072′4设变量已正确定义并赋值,以下正确的表达式是:A. x=y*5=x+zB. int(15.8%5)C. x=y+z+5,++yD. x=25%5.05以下定义语句中正确的是:A. int a=b=0;B. char A=65+1,b=′b′;C. float a=1,*b=&a,*c=&b;D. double a=0.0;b=1.1;6有以下程序段char ch; int x;ch=′A′; x=20;printf("%c,%d,",ch,ch,x); printf("x=%d\n",x,ch);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是:A. 因变量类型与格式描述符的类型不匹配输出无定值B. 输出项与格式描述符个数不符,输出为零值或不定值C. A,65,12x=20D. A,65,x=207已知字母A的ASCII码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是:A. kk>=′A′&& kk<=′Z′B. !(kk>=′A′||kk<=′Z′)C. (kk+32)>=′a′&&(kk+32)<=′Z′D. isalpha(kk)&&(kk<91)8当变量c的值不为2、4、6时,值为"真"的表达式是:A. (c==2)||(c==4)||(c==6)B. (c>=2&& c<=6)&&((c==3)||(c==5))C. (c>=2&&c<=6)&&!(c%2)D. (c>=2&& c<=6)&&(c%2!=1)9以下不构成无限循环的语句或语句组是:A. n=0; do{++n;}while(n<=0);B. n=0; while(1){n++;}C. n=10; while(n);{n--;}D. for(n=0,i=1; ;i++)n+=i;10以下错误的定义语句是:A. int x[][3]={{0},{1},{1,2,3}};B. int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C. int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D. int x[][3]={1,2,3,4};11设有如下程序段char s[20]="Beijing",*p;p=s;则执行p=s;语句后,以下叙述正确的是:A. 可以用*p表示s[0]B. s数组中元素的个数和p所指字符串长度相等C. s和p都是指针变量D. )数组s中的内容和指针变量p中的内容相同12若有定义:int x[4][5];,以下选项中对x数组元素正确引用的是:A. x[4][0]B. x[3][5]C. x[4][4]D. x[2>4][!3]13有定义语句:char str[10];,若要从终端给str输入8个字符,错误的输入语句是:A. gets(&s[0]);B. scanf("%s",s+1);C. gets(s);D. scanf("%s",s[1]);14以下叙述中错误的是:A. 在程序中凡是以"#"开始的语句行都是预处理命令行B. 预处理命令行的最后不能以分号表示结束C. #define MAX是合法的宏定义命令行D. C程序对预处理命令行的处理是在程序执行的过程中进行的15以下结构体类型说明和变量定义中正确的是A. typedef strct{int n; char c;}REC;REC t1,t2;B. typedef strct{int n; char c;};REC t1,t2;C. strct{int n; char c;}REC;REC t1,t2;D. typedef strct REC;{int n=0; char c;}t1,t2;16以下叙述中错误的是:A. gets函数用于从终端读入字符串B. getchar函数用于从磁盘文件读入字符C. fputs函数用于把字符串输出到文件D. fwrite函数用于以二进制形式输出数据到文件17变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。
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语言模拟考试题及答案
c语言模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个变量?A. defineB. varC. letD. int答案:D3. 下列哪个选项是C语言中的整型常量?A. 0x1AB. 1.23C. 1e2D. "123"答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. lengthof()5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A和B答案:D6. C语言中,哪个关键字用于声明一个函数?A. functionB. defC. defineD. void答案:D7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copy()C. duplicate()D. copystr()答案:A8. 下列哪个选项是C语言中的浮点型常量?A. 3.14B. 3.14e2C. 3.14E2D. A和C答案:D9. 在C语言中,哪个关键字用于声明一个数组?B. listC. tableD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. A和B答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
答案:#define2. C语言中,使用________函数可以将一个浮点数转换为字符串。
答案:sprintf3. 在C语言中,使用________关键字可以跳过当前循环的剩余部分,继续下一次循环。
答案:continue4. C语言中,使用________关键字可以立即退出循环。
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语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是()。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。
A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是()。
A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。
A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是()。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是()。
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) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为()。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是()。
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))); 后的输出结果是()A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是( )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的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是()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
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语言模拟题十套附答案
第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. …a12‟D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. …//”C. …W‟D. “\32a”17、以下(A)是不正确的字符串常量A. …abc‟B. “12‟12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是()A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为()A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. …A‟与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. …A‟*‟B‟是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是()void main(){int a=65;c har c=‟A‟;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。
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语言程序设计模拟试题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语言模拟试题(完整版)
=========或=========
*(i+p)
=======(答案4)=======
*p==0
=========或=========
0==*p
第2题 (15.0分)
/*-------------------------------------------------------
第2题 (15.0分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:以下程序能求出满足条件:1*1+2*2+......+n*n<=1000中的
【程序填空】
---------------------------------------------------------
功能:输入某年某月某日,判断这一天是这一年的第几天?
-------------------------------------------------------*/
if(【?】!=0) k++;
if(k==3)
{
*(p+i)=0;
k=0;
m++;
}
i++;
if(i==n) i=0;
}
/***********SPACE***********/
while(【?】) p++;
最大的n。
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一、单选题(本大题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 。
全国计算机二级考试C语言模拟试题(一)
1套每一套题目都是按照“填空题--改错题---编程题”顺序排列,填空题上面带有两个划线的是人工做题时候多余划线,不要理睬!!printf("\nThe average is: %f\n",fun(x));printf("\nThe result :\n",fun(x));for(i=0; i<N; i++) printf("%5.0f ",x[i]);printf("\n");}改错题#include <stdio.h>void fun ( char *s, int num[5] ){ int k, i=5;for ( k = 0; k<i; k++ )/**********found**********/num[k]=0;for (; *s; s++){ i = -1;/**********found**********/switch (* s){ case 'a': case 'A': {i=0; break;}case 'e': case 'E': {i=1; break;}case 'i': case 'I': {i=2; break;}case 'o': case 'O': {i=3; break;}case 'u': case 'U': {i=4; break;}}if (i >= 0)num[i]++;}}main( ){ char s1[81]; int num1[5], i;printf( "\nPlease enter a string: " ); gets( s1 );fun ( s1, num1 );for ( i=0; i < 5; i++ ) printf ("%d ",num1[i]); printf ("\n"); }编程题#include <stdio.h>#define M 4#define N 5int fun ( int a[M][N] ){int tot=0,i,j;for(i=0;i<N;i++){tot+=a[0][i];tot+=a[M-1][i];}for(i=1;i<M-1;i++){tot+=a[i][0];tot+=a[i][N-1];}return tot;}main( ){ int aa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};int i, j, y;void NONO ();printf ( "The original data is : \n" );for ( i=0; i<M; i++ ){ for ( j =0; j<N; j++ ) printf( "%6d", aa[i][j] ); printf ("\n");}y = fun ( aa );printf( "\nThe sum: %d\n" , y );printf("\n");NONO( );}void NONO (){/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单选题(15题每题1分共15分)1.一个c程序的执行是从_____。
(知识点:1.3)A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列字符串为标识符的是_____。
(知识点:3.2)A)_1_A B)5_student C)long D)!DF3.下面字符常量正确的是_____。
(知识点:3.5)A)“c” B)…\\'' C)‘n’D)‘ab’4.已知各变量的类型说明如下:int k,a,b;unsigned w=5;double x=1.42;则以下不符合c语言语法的表达式是______ 。
(知识点:3.9)A)x%(-3)B)w+=-2 C)k=(a=2,b=3)D)a+=a-=a=35.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum 的值为____。
(知识点:3.8)A)7 B)8 C)9 D)106.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出方式为____。
(知识点:4.4)A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息7.有一函数关系见下表:下面程序段中能正确表示上面关系的是_____。
(知识点:5.3)A)y=x+1;B)y=x-1;if(x>=0)if(x!=0)if(x==0)y=x;if(x>0)y=x+1;else y=x-1;else y=x;C)if(x<=0)D)y=x;if(x<0)y=x-1;if(x<=0)else y=x;if(x<0)y=x-1;else y=x+1;else y=x+1;8.若运行时给变量x输入12,则以下程序的运行结果是_____。
(知识点:5.2)main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0 B)22 c)12 D)109.设有程序段int k=10;while(k=0)k=k-1;则下面描述中正确的是______。
(知识点:6.3)A)while循环执行10次B)循环体语句一次也不执行B)循环是无限循环D)循环体语句执行一次10.c语言中whi1e和do-while循环的主要区别是_____。
(知识点:6.4)A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句11.若i为整型变量,则以下循环执行次数是_____。
(知识点:6.5)for(i=0;i<=5;i++)printf(“%d”,i);A)5 B)0次C)1次D)6次12.定义如下变量和数组int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是_____。
(知识点:7.2)for(k=0;k<3;k++)printf(“%d”,a[k][2-k]);A)357 B)369 C)159 D)14713.以下函数定义形式正确的是_____。
(知识点:8.2)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);14.变量的指针,其含义是指该变量的_____。
(知识点:9.1)A)值B)地址c)名D)一个标志15.若有说明int *p,m=5,n;以下程序段正确的是_____。
(知识点:9.2)A)p=&n;B)p=&n;scanf("%d",&p);scanf("%d",*p);C)scanf("%d",&n);D)p=&n;*p=*n;*p=m;二、多选择题(5题每题2分共10分)1.若有定义int a[5],则下列对a数组元素或地址的引用错误的有_____。
(知识点:7.1)A)&a[5] B)a[2] C)a++ D)*a E)a[0]2.以下关于C语言中循环的描述正确的有_____。
(知识点:6.7)A)在while和do-while循环体内应包含使循环趋于结束的语句B)do-while的循环体不能是复合语句C)do-while的循环体至少无条件执行一次D)在for循环中可以使用break语句跳出循环体E)for循环只能用于循环次数已经确定的情况3.设有int a=3,b=5;下面表达式值不等于1的有_____。
(知识点:5.1)A)a<0&&b<0 B)a=fabs(b)-(a+1)C)a<b||b<0 D)(a,2,-5)= =(b,2,a)E)!(a>0&&b<0)4.整型变量的类型标识符包括_____。
(知识点:3.3)A)short B)long C )Unsigned int D)int E)ch5.以下叙述正确的有_____。
(知识点:8.6)A)一个C语言程序有且仅有一个main函数B)C语言程序中,main函数是没有参数的C)一个函数通过其他函数间接的调用了自身,这种情况也是一种递归调用D)main函数是由系统调用的E)若要通过函数参数带回多个返回值,则应使用按地址传送的参数结合方式C语言程序设计预赛模拟题答案一、单选题二、多选题附知识点列表:1.C语言概述本章主要介绍了C语言的特点、基本结构、基本输入输出语句和C程序的编辑、编译、运行方法,要求了解C语言的特点,掌握C程序的基本结构,熟悉C程序的编辑、编译、调试和运行过程。
1.1 C 语言出现的历史背景1.2 C 语言的特点1.3 简单的C 程序介绍1.4 C 程序的上机步骤2.程序的灵魂——算法本章主要讲了关于算法的一些问题。
要求大家了解算法的概念、表示和特性。
2.1 算法的概念2.2 简单算法举例2.3 算法的特性2.4 怎样表示一个算法2.5 结构化程序设计方法3.数据类型、运算符与表达式本章主要介绍了C语言的基本数据类型、各种运算符、以及运算符的功能、结合性和优先级。
要求掌握含有这些运算符的表达式值的判定,并且在编程中熟练运用这些运算符解决问题。
3.1 C的数据类型3.2 常量与变量3.3 整型数据3.4 实型数据3.5 字符型数据3.6 变量赋初值3.7 各类数值型数据间的混合运算3.8 算术运算符和算术表达式3.9 赋值运算符和赋值表达3.10 逗号运算符和逗号表达式4.最简单的C 程序设计--顺序程序设计本章主要讲了C语言基本输入输出语句和顺序程序设计的一般方法。
要求大家掌握赋值语句、putchar函数、getchar函数、printf函数、scanf函数和顺序程序的结构。
4.1 C 语句概述4.2 赋值语句4.3 数据输入输出的概念及在C语言中的实现4.4 字符数据的输入输出4.5 格式输入与输出4.6 顺序结构程序设计举例5.选择结构程序设计本章主要介绍了C语言提供的选择结构语句:if语句、if-else语句和switch语句。
要求大家掌握并熟练使用if语句的和switch语句。
5.1 关系运算符和关系表达式5.2 逻辑运算符和逻辑表达式5.3 if 语句5.4 switch 语句6.循环结构程序设计本章主要介绍了C语言提供的三种循环结构语句:while语句、do-while语句和for语句,介绍了循环结构中常用的语句break、continue的使用以及循环的嵌套。
要求大家掌握这三种循环结构的使用,理解break和continue在循环结构中的不同作用,了解循环的嵌套。
6.1 概述6.2 goto 语句以及用goto 语句构成循环6.3 while 语句6.4 do-while 语句6.5 for 语句6.6 循环的嵌套6.7 几种循环的比较6.8 break 语句和continue 语句7.数组本章介绍C语言中数组的定义和使用,其中重点介绍一维数组、二维数组的定义、引用、初始化和作为函数参数时数据传递方式。
要求大家熟练掌握一维数组、二维数组的应用,并且理解数组元素和数组名作函数参数的不同,进而灵活运用数组作函数参数编程。
7.1 一维数组的定义和引用7.2 二维数组的定义和引用7.3 字符数组8.函数通过介绍C语言函数的概念、定义和调用,要求掌握函数的定义、调用方式,了解函数形参和实参的特点,掌握函数的嵌套调用和递归调用,并能熟练编写具有一定功能的函数。
8.1 概述8.2 函数定义的一般形式8.3 函数参数和函数的值8.4 函数的调用8.5 函数的嵌套调用8.6 函数的递归调用8.7 数组作为函数参数8.8 局部变量和全局变量8.9 变量的存储类别8.10 内部函数和外部函数9.指针本章主要介绍了C语言中指针的基本概念和指向变量的指针变量、指向一维数组、二维数组的指针变量和指向字符串的指针变量的定义及使用,要求掌握指针变量的定义和引用,掌握指向数组元素和字符串中字符的指针变量的使用,理解指针变量作函数参数与数组名或字符串作函数参数的关系。
9.1 地址和指针的概念9.2 变量的指针和指向变量的指针变量9.3 数组的指针和指向数组的指针变量9.4 字符串的指针和指向字符串的指针变量9.5 函数的指针和指向函数的指针变量9.6 返回指针值的函数9.7 指针数组和指向指针的指针10.结构体与共用体本章主要介绍C语言中的两种类型的定义和使用:结构体类型和共用体类型。
要求大家掌握结构体类型、共用体类型的变量的定义,掌握结构体类型和共用体类型变量及其成员的引用等基本操作,理解结构体数组的应用,理解结构体和共用体变量存储形式的不同。
10.1 概述10.2 定义结构体类型变量的方法10.3 结构体变量的引用10.4 结构体变量的初始化10.5 结构体数组10.6 指向结构体类型数据的指针10.7 用指针处理链表10.8 共用体10.9 枚举类型10.10 用typedef 定义类型。