一、单项选择题(每题2分,共40分) 1.以下叙述不正确的是( )。
A. 一个C源程序必须包含一个main函数 B. 一个C源程序可由一个或多个函数组成 C. C程序的基本组成单位是函数
D. 在C程序中,注释说明只能位于一条语句的后面 2.一个C语言程序是由( )。
A. 一个主程序和若干个子程序组成 B. 函数组成
C. 若干过程组成 D. 若干子程序组成
3.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )。
A. C语言程序仅可以编译执行 B. C语言程序仅可以解释执行 C. C语言程序既可以编译执行又可以解释执行 D. 以上说法都不对 4.下列四组选项中,均不是C语言关键字的选项是( )。 A. define IF type B. getc char printf C. include case scanf D. while go pow
5.下列四组选项中,均是不合法的用户标识符的选项是( )。 A. W P_0 do B. b-a goto int C. float la0 _A D. -123 abc TEMP
6.下列四组选项中,均是合法转义字符的选项是( )。 A. ‘\\”’‘\\\\’‘\\n’ B. ‘\\’‘\\017’‘\\”’ C. ‘\\018’‘\\f’‘xab’ D. ‘\\\\0’‘\\101’‘xlf’
7.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 c2=‘A’+‘6’-‘3’后,c2中的值为( )。 A. D B. 68 C. 不确定的值 D. C 8. sizeof(float)是( )。
A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数表达式 D. 一个不合法的表达式
9.设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为( )。
A. float B. char C. int D. double 10.有以下程序
#include } 程序运行后的输出结果是( )。 A. 12 B. 11 C. 10 D. 9 11.设有程序段 int k=10; while(k=0)k=k-1; 下面描述中正确的是( )。 A. while循环执行10次 B. 循环是无限循环 C. 循环体语句一次也不执行 D. 循环体语句执行一次 12.以下程序段( )。 x=-1; do{x=x*x; } while(!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 13.以下正确的函数定义形式是( )。 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.以下对二维数组a的正确说明是( )。 A. int a[3][]; B. float a(3,4); C. double a[1][4] D. float a(3)(4); 15.变量的指针,其含义是指该变量的( )。 A. 值 B. 地址 C. 名 D. 一个标志 16.若a和b均是正整型变量,以下正确的switch语句是( )。 A. switch(pow(a,2)+pow(b,2)) { case 1: case 3: y=a+b; break; case 0: case 5: y=a-b; } B. switch(a*a+b*b); { case 3: case 1: y=a+b; break; case 0: y=b-a; break; } C. switch (a) { default: x=a+b; case 10: y=a-b; break; case 11: x=a*d; break; } D. switch (a+b) { case10 : x=a+b; break; case11 : y=a-b; break; } 17.下述关于break语句的描述中,( )是不正确的。 A. break语句可用于循环体内,它将退出该循环 B. break语句可用于switch语句中,它将退出switch语句 C.break语句可用于if体内,它将退出if语句 D. break语句在一个循环体内可以出现多次 18.下列选项中不属于C++的类型的是( )。 A. signed short int B. unsigned long int C. unsigned int D. long short 19.以下运算符优先级最高的是( )。 A. <= B. == C. % D. && 20.函数调用时,下列说法中不正确的是( ). A. 若用值传递方式,则形式参数不予分配内存 B. 实际参数和形式参数可以同名 C. 主调函数和被调函数可以不在同一个文件中 D. 函数间传递数据可以使用全局变量 二、填空题(每题3分,共30分) 1.若a是int型变量,则计算表达式a=25/3%3后,a的值为 。 2 2.若有定义:char c=‘\\010’;则变量c中包含的字符个数为 。1 3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式 ch=‘a’+‘8’-‘3’的值为 。 f 4.下面程序的运行结果是_____s=2_____. #include {int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7){n=n*a;s=s+n;++count;} printf(\"s=%d\ } 5.下面程序段的运行结果是__ _8_ ____. i=1;s=3; do{s+=i++; if(s%7==0)continue; else ++i; }while(s<15); printf(\"%d\ 6. 若有定义:double x[3][5];则x数组中行下标的下限为____0____,列下标的上 限为_____4_____. 7.函数gongyu的作用是求整数num1和num2的最大公约数,并返回该值。请填空。 gongyu(int num1,int num2) {int temp,a,b; if(num1(__ < __)num2) {temp=num1;num1=num2;num2=temp;} a=num1;b=num2; while(_ !b __) {temp=a%b;a=b;b=temp;} return(a); } 8.下面程序段的运行结果是__ hELLO ___. char s[80],*sp=\"HELLO!\"; sp=strcpy(s,sp); s[0]='h'; puts(sp); 9.若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是___4___. *(a+5)的值是____12_____. 10.系统的标准数入文件是指___键盘______。 11.若执行fopen函数时发生错误,则函数的返回值是___0 ___。 三、简单编程(每题15分,共30分) 1.用for语句计算 s=1+2+3+……+100的值(5分)。 答案: #include int i,s; //定义两个变量i和s。 for(i=0,s=0;i<=100;i++) //循环语句如果i小于1等于100那就执行s=s+i这条语句 s=s+i; //累加值赋给s printf(\"%d\",s); //输出累加值s的值。 return 0; } 2.编程实现:计算50到200之间的偶数之和。(8分) 答案:用for语句,对输出的值对2进行取余(也就是求偶数的方法) #include int i,sum; for(i=50,sum=0;i<=200;i++) if(i%2==0) //如果i对2取余为0则执行下面的语句,否则跳过下面语句回到for循环。 { sum=sum+i; } printf(\"50 ~....200的总和sum=%d\",sum); return 0; } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务