C语言基础知识综合练习题
c基础知识试题及答案
c基础知识试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义变量的关键字是:A. varB. letC. intD. define答案:C2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable!答案:B3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A4. C语言中,用于计算两个整数之和的运算符是:A. +B. -C. *D. /答案:A5. C语言中,哪个关键字用于定义函数?A. functionB. defineC. funcD. int答案:D二、填空题(每题3分,共15分)1. C语言的标准输入输出库是 ________.h。
答案:stdio2. 在C语言中,用于定义一个整型变量的关键字是 ________。
答案:int3. C语言中,用于定义一个浮点型变量的关键字是 ________。
答案:float 或 double4. 在C语言中,用于定义一个字符型变量的关键字是 ________。
答案:char5. C语言中,用于定义一个布尔型变量的关键字是 ________。
答案:_Bool 或 bool(在C99标准之后)三、简答题(每题5分,共20分)1. 请简述C语言中数组的定义方式。
答案:在C语言中,数组是通过指定元素类型和元素数量来定义的。
例如,定义一个整型数组可以写作:int array[10]; 这表示定义了一个可以存储10个整型元素的数组。
2. 请解释C语言中的指针是什么。
答案:C语言中的指针是一种特殊的变量,它存储的是另一个变量的内存地址。
通过指针,程序可以直接访问和操作内存中的数据。
C语言综合习题及答案
C语言练习题一、选择题1.一个完整的C源程序是【B】。
A)要由一个主函数或一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成2.以下关于函数的叙述中正确的是【C】。
A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以定义任意一个函数3.以下关于函数的叙述中不正确的是【B】。
A)C程序是函数的集合,包括标准库函数和用户自定义函数B)在C语言程序中,被调用的函数必须在main函数中定义C)在C语言程序中,函数的定义不能嵌套D)在C语言程序中,函数的调用可以嵌套4.在一个C程序中,【B】。
A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置5.C程序的执行是从【A】开始的。
A)主函数B)子函数C)从程序第一行D)printf()函数6.以下选项中不合法的标识符是【C】A)printB)FORC)&aD)_007.以下选项中可作为C语言合法常量的是【A】A)-80 B)-080 C)-8e1.0 D)-80.0e8.以下选项中不属于字符常量的是【B】A)′C′B)"C"C)′\xCC′D)′\072′9.若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】A)float B)longC)int D)double10.以下关于函数叙述中,错误的是【D】。
A)函数未被调用时,系统将不为形参分配内存单元B)实参与形参的个数应相等,且实参与形参的类型必须对应一致C)当形参是变量时,实参可以是常量、变量或表达式D)形参可以是常量、变量或表达式11.C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【D】。
C语言基础练习100题(含答案)
C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2538、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是__________.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1050、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}} 该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。
C语言基础练习题(含答案)Word版
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。
c语言基础知识试题及答案
c语言基础知识试题及答案C语言基础知识试题及答案1. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案: D2. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str[] = "Hello", "World";答案: A3. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. _variableD. variable$name答案: C4. C语言中,以下哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案: B5. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释 */D. /* 这是一个注释答案: B6. C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案: A7. 在C语言中,以下哪个语句用于结束一个循环?A. breakB. continueC. exitD. return答案: A8. C语言中,以下哪个选项是正确的数组定义?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5, 6};答案: A9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. lengthC. sizeD. sizeof答案: A10. C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案: C。
计算机c语言综合试题及答案
计算机c语言综合试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A4. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. C语言中,以下哪个选项用于定义一个无限循环?A. while(1)B. for(;;)C. do whileD. All of the above答案:D10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
c语言基础试题库及答案
c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。
答案:int2. 在C语言中,________关键字用于定义一个指针。
答案:*3. C语言中,________关键字用于定义一个函数。
答案:int4. 在C语言中,________运算符用于求两个数的和。
答案:+5. C语言中,________运算符用于判断两个数是否相等。
答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。
答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。
函数调用则是通过函数名和参数列表来调用已定义的函数。
2. 解释C语言中指针的概念及其用途。
答案:指针是一种变量,它存储了另一个变量的内存地址。
指针常用于动态内存分配、数组处理和函数参数传递。
四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。
十分基础的c语言考试题及答案
十分基础的c语言考试题及答案1. 写出C语言中定义一个结构体的语法。
答案:在C语言中,定义一个结构体的语法如下:```cstruct 结构体名 {类型成员1;类型成员2;...类型成员n;};```其中,`类型`可以是任意合法的数据类型,`成员1`到`成员n`是结构体的成员变量。
2. 如何在C语言中声明一个函数?答案:在C语言中,声明一个函数的语法如下:```c返回类型函数名(参数类型1 参数名1, 参数类型2 参数名2, ...); ```其中,`返回类型`是函数执行完毕后返回的数据类型,`函数名`是函数的标识符,`参数类型`和`参数名`分别表示函数参数的类型和名称。
3. 请写出C语言中数组的声明方式。
答案:在C语言中,数组的声明方式如下:```c类型数组名[数组大小];```或者```c类型数组名[] = {初值1, 初值2, ..., 初值n};```其中,`类型`是数组元素的数据类型,`数组名`是数组的标识符,`数组大小`是数组中元素的数量,`初值1`到`初值n`是数组的初始值。
4. 解释C语言中的指针是什么。
答案:C语言中的指针是一种变量,它存储了另一个变量的内存地址。
指针可以用于访问和操作内存中的数据,提高程序的效率和灵活性。
5. 如何在C语言中使用条件语句?答案:在C语言中,使用条件语句的语法如下:```cif (条件表达式) {// 当条件表达式为真时执行的代码} else {// 当条件表达式为假时执行的代码}```其中,`条件表达式`是一个返回布尔值的表达式,如果表达式的值为真(非零),则执行`if`块内的代码;否则,执行`else`块内的代码。
6. 请写出C语言中循环结构的语法。
答案:C语言中有两种基本的循环结构:`for`循环和`while`循环。
`for`循环的语法如下:```cfor (初始化表达式; 循环条件; 步进表达式) {// 循环体}````while`循环的语法如下:```cwhile (循环条件) {// 循环体}```其中,`初始化表达式`用于初始化循环变量,`循环条件`是一个返回布尔值的表达式,`步进表达式`用于更新循环变量。
(完整版)C语言基础知识综合练习题
一、C语言基本知识和基本语句(一)选择题1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。
A)‘a’&&’b’ B) a<=bC) a || b+c&&b-c D) ! ((a<b)&&! C|| 1)2.设ch是char型变量,其值为A字符,且有表达式:ch= (ch >= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。
A) A B) a C) Z D) z3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf (“%d”,(x,y));则输出结果是()。
A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。
A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。
A)% B) / C) % 和 / D) **6.数学关系x≥y≥z ,它对应C语言表达式是()。
A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z )C) (x>=y>=z) D) (x>=y) & (y>=z )7.以下说法中正确的是()。
A)C语言程序总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。
c语言入门练习题
C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。
2. 声明一个浮点型常量,其值为3.14。
3. 将字符型变量 'A' 赋值给另一个字符型变量。
1.2 数据类型1. 将一个整型变量转换为浮点型变量。
2. 将一个长整型变量赋值给一个短整型变量。
3. 编写一个程序,输出不同数据类型所占的字节数。
1.3 运算符1. 计算5加3乘2的结果。
2. 判断两个整型变量是否相等。
3. 使用自增运算符使变量i的值增加1。
二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。
2. 输出用户输入的两个整数中的较大值。
3. 计算并输出圆的面积(给定半径)。
2.2 选择结构1. 判断一个整数是正数、负数还是零。
2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。
3. 编写一个程序,实现石头剪刀布的游戏。
2.3 循环结构1. 计算1到100所有整数的和。
2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。
3. 使用循环结构输出九九乘法表。
三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。
2. 定义一个函数,实现字符串的复制。
3. 创建一个函数,判断一个数是否为素数。
3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。
2. 编写一个递归函数,实现字符串的逆序输出。
3. 利用递归函数求解汉诺塔问题。
四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。
2. 计算一维数组中所有元素的和。
3. 找出一维数组中的最大值和最小值。
4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。
2. 计算二维数组对角线元素的和。
3. 实现矩阵的转置。
五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。
2. 使用指针实现两个整数的交换。
3. 编写一个函数,通过指针参数修改传入的字符串。
C语言综合练习题
习题一一、选择题1. C程序从( D )开始执行。
(A) 程序中的第一条语句(B) 程序中的第一条可执行语句(C) 程序中的第一个函数(D) 程序中的main函数2. 下列各项中,不是C语言的特点是( )。
(A) 语言简洁、紧凑,使用方便(B) 数据类型丰富,可移植性好(C) 能实现汇编语言的大部分功能(D) 有较强的网络操作功能3. 下列叙述错误的是( B )。
(A) C程序中的每条语句都用一个分号作为结束符(B) C程序中的每条命令都用一个分号作为结束符(C) C程序中的变量必须先定义,后使用(D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写4. 算法中对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的( B )。
(A) 正当性 (B) 确定性 (C) 可行性 (D) 确定性习题二一、选择题1. 整型变量的类型说明符是( B )。
(A) short (B) int (C) long (D) float2. 单精度型变量的类型说明符是( C )。
(A) int (B) long (C) float (D) double3. 下列叙述正确的是( D )。
(A) 标识符由字母、数字或下划线组成,必须以字母或下划线开头(B) 标识符由字母、数字或下划线组成,必须以字母或数字开头(C) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,可以含有空格(D) 标识符由字母、数字或下划线组成,必须以字母或下划线开头,并且不含空格4. 下列式子中,是字符型常量的是( A )。
(A) 'a' (B) "a" (C) 'ab' (D) "ab"5. 下列式子中,可以作为C语言标识符的是( C )。
(A) array-1 (B) 234abc (C) array_1 (D) if6. 下列语句正确的是( B )。
计算机c语言综合试题及答案
计算机c语言综合试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将字符串连接到另一个字符串的末尾?A. strcatB. strcpyC. strcmpD. strlen答案:A3. 下列关于C语言数组的描述,错误的是:A. 数组的下标从0开始B. 数组的下标可以是负数C. 数组的大小在编译时确定D. 数组可以存储不同类型的数据答案:B4. 在C语言中,以下哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案:B5. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A6. 在C语言中,以下哪个函数用于打开一个文件?A. fopenB. fcloseC. fgetcD. printf答案:A7. 下列关于指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储字符串C. 指针可以存储函数的地址D. 指针本身没有数据类型答案:D8. C语言中,以下哪个关键字用于定义一个全局变量?A. staticB. externC. autoD. register答案:B9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strcatB. strcpyC. strlenD. strcmp答案:C10. 下列关于C语言函数的描述,错误的是:A. 函数可以返回多个值B. 函数可以没有返回值C. 函数可以有多个参数D. 函数可以没有参数答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对变量进行自增操作。
答案:++2. 当需要在C语言中定义一个常量时,可以使用关键字________。
答案:const3. C语言中,用于定义一个无限循环的关键字是________。
c语言基础试题及答案
c语言基础试题及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B3. 下列哪个选项是C语言中的合法整数常量?A. 0x12B. 0X12C. 0x1GD. 0x1g答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D二、填空题1. C语言中,用于定义一个变量的关键字是________。
答案:int2. C语言中,用于定义一个数组的语法是________。
答案:type arrayName[arraySize];3. C语言中,用于定义一个指针的语法是________。
答案:type *pointerName;4. C语言中,用于定义一个函数的语法是________。
答案:type functionName(parameters);5. C语言中,用于定义一个枚举的语法是________。
答案:enum enumName {elements};三、简答题1. 简述C语言中指针和数组的关系。
答案:在C语言中,指针和数组有密切的关系。
指针可以指向数组的元素,数组名可以作为指向数组首元素的指针。
通过指针可以访问和修改数组中的元素。
2. 描述C语言中函数的调用过程。
答案:在C语言中,函数调用过程包括:调用函数、传递参数、执行函数体、返回结果。
调用函数时,程序控制权转移到被调用函数,函数执行完毕后,返回到调用点继续执行。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
c语言程序基础练习题500道(附答案)
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。
C语言综合练习(附答案)
C语言综合练习(附答案)一、选择1.在C语言中运算对象必须是整型的运算符是A %B !C /D *2. 有以下程序#includemain(){int x;scanf(“%d”,&x);if(x<=3);else if(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果____________ 。
A)不等于10的整数 B)大于3且不等于10的整数C) 大于3或等于10的整数 D)小于3的整数3. 下列定义数组的语句中,正确的是__________。
A)int N=10;int x[N]; B)#define N 10int x[N];C) int x[0..10]; D) int x[];4. 以下程序运行后的输出结果是_______________。
#includemain(){int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,25. C语句x*=y+2;还可以写成A x=x*y+2;B x=2+y*x;C x=x*(y+2);D x=y+2*x;6. 以下程序运行后的输出结果是________________。
#includemain(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf(“%d\n”,b)}A)0 B)1 C)2 D)37. 若要定义一个具有5个元素的整形数组,以下错误的定义语句是__________。
A)int a[5]={0}; B)int b[] = {0,0,0,0,0};C) int c[2+3] ; D)int i=5,d[i];8. 设有float x;则x是____变量。
C语言基础练习100题含标准答案
C语言基础练习100题含标准答案1. 编写一个C语言程序,要求输出"Hello, World!"#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}2. 编写一个C语言程序,要求输出两个整数的和。
#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}3. 编写一个C语言程序,要求输出一个整数的平方。
#include <stdio.h>int main() {int num, square;printf("请输入一个整数:");scanf("%d", &num);square = num * num;printf("该整数的平方为:%d\n", square);return 0;}4. 编写一个C语言程序,要求输出1到10的所有整数。
#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");return 0;}5. 编写一个C语言程序,要求输出1到10的所有整数的和。
#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 10; i++) {sum += i;}printf("1到10的所有整数的和为:%d\n", sum);return 0;}6. 编写一个C语言程序,要求输入一个字符串并输出该字符串。
基础c语言试题及答案
基础c语言试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项不是合法的变量名?A. sumB. _sumC. 2sumD. sum2答案:C2. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. &&D. |答案:B3. 以下哪个选项是C语言中正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\"答案:A4. 在C语言中,以下哪个选项是正确的整型常量?A. 0x1AB. 0x1aC. 0x1A.5D. 0x1a.5答案:A5. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntD. integer答案:A6. 在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. void myFunction;C. int myFunction();D. int myFunction;答案:C7. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5];B. int array[];C. int array;D. int [5] array;答案:A8. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int * ptr;C. int ptr*;D. int * ptr;答案:A9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int x;float y;} Point;B. struct Point {int x;float y;};C. struct Point {int x;float y;} point;D. struct {int x;float y;} point;答案:B10. 在C语言中,以下哪个选项是正确的枚举声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} Color;C. enum Color {Red, Green, Blue} color;D. enum Color {Red, Green, Blue};答案:A二、填空题(每题3分,共15分)1. 在C语言中,使用________关键字可以定义一个函数。
C语言基础知识综合练习题
一、 C语言基本知识和基本语句(一)选择题1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。
A)‘a’&&’b’ B) a<=bC) a || b+c&&b-c D) ! ((a<b)&&! C|| 1)2.设ch是char型变量,其值为A字符,且有表达式:ch= (ch >= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。
A)A B) a C) Z D) z3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf(“%d”,(x,y));则输出结果是()。
A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。
A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。
A)% B) / C) % 和/ D) **6.数学关系x≥y≥z ,它对应C语言表达式是()。
A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z )C) (x>=y>=z) D) (x>=y) & (y>=z )7.以下说法中正确的是()。
A)C语言程序总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。
c语言考试试题基础版及答案
c语言考试试题基础版及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. int_答案:A2. C语言中,用于定义一个字符型变量的关键字是?A. charB. characterC. stringD. var答案:A3. 在C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. =答案:A4. 下列哪个选项不是C语言中的控制结构?A. ifB. forC. whileD. switch答案:D5. 在C语言中,下列哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B6. C语言中,用于定义一个整型数组的语法是?A. int array[10];B. int [10] array;C. int array[];D. int array=10;答案:A7. 下列哪个选项是C语言中的正确注释?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /* 这是一个注释答案:A8. 在C语言中,用于定义一个函数的关键字是?A. functionB. defC. defineD. void答案:D9. 下列哪个选项是C语言中的正确字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. Hello, World!答案:A10. 在C语言中,用于声明一个无返回值的函数的关键字是?A. intB. voidC. charD. float答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:int ____________; 答案:变量名2. 用于计算两个整数之和的C语言运算符是:__________;答案:+3. 如果要在C语言中声明一个名为“result”的浮点型变量,应使用:float ____________;答案:result4. 在C语言中,用于定义一个二维数组的语法是:int____________[3];答案:数组名5. C语言中,用于声明一个指向整型变量的指针的语法是:int*____________答案:指针名6. 使用C语言中的printf函数输出字符串时,需要在字符串前加上的字符是:__________;答案:"7. 在C语言中,用于从键盘读取一个字符的函数是:__________;答案:getchar()8. 如果要声明一个名为“total”的整型变量并初始化为0,应使用:int total = __________;答案:09. 在C语言中,用于定义一个静态局部变量的关键字是:__________; 答案:static10. C语言中,用于计算两个浮点数之差的运算符是:__________;答案:-三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、C语言基本知识和基本语句(一)选择题1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。
A)‘a’&&’b’ B) a<=bC) a || b+c&&b-c D) ! ((a<b)&&! C|| 1)2.设ch是char型变量,其值为A字符,且有表达式:ch= (ch >= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。
A) A B) a C) Z D) z3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf (“%d”,(x,y));则输出结果是()。
A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。
A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。
A)% B) / C) % 和 / D) **6.数学关系x≥y≥z ,它对应C语言表达式是()。
A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z )C) (x>=y>=z) D) (x>=y) & (y>=z )7.以下说法中正确的是()。
A)C语言程序总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。
A) 1 B) 0 C) 4 D) 39.C语言表达式10 != 9 的值是()。
A)true B) 非零值 C) 0 D) 110.合法的C语言字符常量是()。
A)’\t’B) “A” C) 65 D) A11.若int类型数据占两个字节,则下列语句的输出为()。
int k = -1 ;printf (“%d,%u\n ”,k,k);A)- 1,- 1 B) – 1,32767 C) –1,32768 D) –1,65535 12.组成C语言程序的是()。
A)子程序 B) 过程 C) 函数 D) 主程序和子程序13.以下的选项中,正确的赋值语句是()。
A)i++; B)a=1,b=2; C) a=b=5 D) y=int(x);14. 以下不符合C语言语法的语句是()。
A)i++; B)i=j=5; C)k=2*4,k*4; D) y=float(i)15. 下列程序的输出结果是()。
main(){ int a=9;a+=a-=a+a;printf(“%d\n”,a); }A) 18 B) 9 C) –18 D) –916. 下列语句的输出结果是()。
printf(“%d\n”,(int)+/3);A)有语法错误不能通过编译 B) 2 C) 1 D) 017.下列程序的输出是()。
main(){ int a = 7,b=5;printf(“%d\n”,b=b/a); }A)有语法错误不能通过编译 B) 2 C) 1 D) 018.请阅读程序()。
main(){ int a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n”,a,b,c); }若运行时从键盘上输入10<CR>(CR表示回车),则上面程序的输出结果是()。
A)a=98,b=765,c=4321 B) a=10,b=432,c=8765C) a=98,b=,c= D) a=98,b=,c=19.以下程序的输出结果是()。
main(){ int a=-1,b=4,k;k=(++a<0)&&! (b - -<=0);printf (“%d%d%d\n”,k,a,b); }A) 1 0 4 B) 1 0 3 C) 0 0 3 D) 0 0 420.下列程序的输出结果是()。
main(){ int i,j,k,a=3,b=2;i=(- -a= =b++)?- - a :++b;j=a++;k=b;printf (“i=%d,j=%d,k=%d\n”,i,j,k);}A)i=2,j=1,k=3 B) i=1,j=1,k=2 C) i=4,j=2,k=4 D) i=1,j=1,k=3(二)填空题1.在C语言中,double类型数据占个字节;char类型数据占个字节。
2.设C语言中,int 类型数据占2个个字节,则long类型数据占个字节;unsigned int类型数据占个字节; short类型数据占个字节;3.表达式8/4*(int)(int)*+)值的数据类型为4.假设m是一个三位数,从左到右用a,b,c表示每一位的数字,若从左到右数字是bac 的三位数,则在C语言中用m表示bac的表达式是二、C语言选择和循环结构1.在C语言中,能代表逻辑值“真”的是()。
A)true B) 大于0的数 C) 非0整数 D) 非0的数2.若给定条件表达式(M)?(a++): (a--);则其中表达式MA)和(M==0)等价 B) 和(M==1)等价C) 和(M!=0)等价 D) 和(M!=1)等价3.在C语言的if语句中,用作判断的表达式是()。
A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式4.若变量已正确定义,则以下程序段的输出为()。
int a=2;b=3;printf(a>b?“* * * a=%d”:“# # # b=%d”,b);A)没有正确的输出格式控制 B) * * * a=2C) # # # b=3 D) * * * a= 2# # # # b=3 5.以下程序段的输出结果为()。
int a=1;b=2,c=2,t=0;while(a<b) {t=a;a=b;b=t;c++;}pr intf(“%d,%d,%d”,a,b,c );A)1,2,0 B) 2,1,0 C)1,2,1 D) 2,1,36.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()。
if (x>y) z=x;x=y;y=z;A) x=10,y=20,z=30 B) x=20,y=30,z=30C) x=20,y=30,z=10 D) x=20,y=30,z=20 7.以下程序的运行结果是()。
main( ){ int m=5;if (m++>5) printf (“%d\n”,m);else printf (“%d\n”,m--); }A)4 B) 5 C) 6 D) 78. 以下不正确的语句是()。
A)if (x>y);B) if (x=y)&&(x!=0) x+=y;C) if (x!=y) scanf(“%d”,&x);else scanf(“%d”,&y);D) if (x<y) {x++;y++;}9. 若w、x、y、z、m均为int型变量,则执行下面语句后的m 值是()。
w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A)1 B) 2 C) 3 D) 410.下面有关for循环的正确描述是()。
A)for 循环只能用于循环次数已经确定的情况B)for 循环是先执行循环体语句,后判断表达式C)在for 循环中,不能用break语句跳出循环体D)for 循环的循环体中,可包含多条语句,但必须用花括号括起来11.若i为整数变量,则以下循环执行的次数是()。
for(i=2;i==0;) printf(“%d”,i--);A)无限次 B) 0次 C) 1次 D) 2次12.执行语句for(i=1;i++< 4;);后变量i的值是()。
A) 3 B) 4 C) 5 D) 不定13.以下正确的说法是()。
A)continue 语句的作用是结束整个循环的执行B) 只能在循环体内和switch语句体内使用break语句C) 在循环体内使用break语句或continue语句的作用相同D) 在多层循环嵌套中退出时,只能使用goto语句14. 以下程序的功能是判断输入的年份是否是闰年。
请在填入正确内容main ( ){ int y,f;scanf (“%d”,&y);if (y%400 = = 0) f=1;else if ( ① ) f=1;else ② ;if (f) printf(“%d is ”,y);else printf(“%d is not ”,y);printf (“a leap year \n”); }15.有四个数a,b,c,d 要求按从大到小的顺序输出请在内填入正确内容 main( ){ int a,b,c,d,t;scanf(“%d %d %d %d”,&a,&b,&c,&d);if (a<b) {t=a;a=b;b=t;}if ( ① ) {t=a;a=d;d=t;}if (a<c) {t=a;a=c;c=t;}if (② ) {t=b;b=c;c=t;}if (b<d) {t=b;b=d;d=t;}if (c<d) {t=c;c=d;d=t;}printf (“%d %d %d %d\n”,a,b,c,d); }16.以下程序的功能是()。
从键盘输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
main ( ){ float x,amax,amin;scanf (“%f”,&x);amax = x;amin = x;while ( ① ){ if (x>amax) amax = x;if ( ② ) amin = x;scanf (“%f”,&x);}printf (“\namax = %f\namin = %f\n”,amax,amin);}17.以下程序的功能是计算1-3+5-7+……-99+101的值,请填空。
main ( ){ int i,t =1,s = 0;for (i= 1; i< =101;i+=2){ ① ; s = s+t; ② ;}printf (“%d\n”,s);}或:main ( ){ int i,t =1,s = 0;for (i= 1; i< =101;i+=2){ s = s+t*i; ③ ;}printf (“%d\n”,s);}18.若用0至9之间不同的三个数构成一个三位数,下面程序统计出共有多少种方法。