湖南工业大学C语言期末考试复习题(机房题库)
c语言期末考试题库及详解答案
c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。
答案:int7. C语言中,用于输入输出的库函数分别是______和______。
答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。
答案:int*9. C语言中,用于定义函数的关键字是______。
答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。
答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。
答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。
结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。
答案:递归函数是一种函数自己调用自己的特殊函数。
递归函数通常用于解决可以被分解为相似子问题的问题。
递归函数需要有一个明确的终止条件,以防止无限递归。
四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。
答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。
c语言大期末考试题库及详解答案
c语言大期末考试题库及详解答案1. 选择题(1) 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A(2) 以下哪个选项是正确的C语言变量声明?A. int a = 10, b = 20;B. int a = 10; b = 20;C. int a = 10; int b = 20;D. int a = 10, b = 20;答案:A2. 填空题(1) 在C语言中,用于定义一个函数的关键字是____。
答案:void(2) 当使用指针变量时,用于获取指针所指向的值的运算符是____。
答案:*3. 简答题(1) 简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组首元素的指针使用。
数组的每个元素可以通过指针偏移量来访问。
(2) 解释C语言中的预处理指令#include的作用。
答案: #include预处理指令用于在编译前将指定的文件包含到当前文件中,通常用于包含标准库或自定义的头文件。
4. 编程题(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\n", sum);return 0;}```(2) 编写一个C语言函数,实现字符串的反转。
```cvoid reverseString(char* str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```5. 论述题(1) 论述C语言中指针的重要性及其应用场景。
c语言下期末考试题库及详解答案
c语言下期末考试题库及详解答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的?A. 变量名可以以数字开头B. 变量名中可以包含空格C. 变量名区分大小写D. 变量名可以包含特殊字符答案:C2. 下面哪个选项是C语言中的合法整型常量?A. 0x1AB. 1.23C. 0123D. 0E5答案:A3. 在C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D4. C语言中,以下哪个选项是正确的?A. 一个函数可以返回多个值B. 一个函数可以有多个返回类型C. 一个函数可以没有返回值D. 一个函数可以没有参数答案:D5. 在C语言中,以下哪个选项是正确的?A. 所有变量必须在使用前声明B. 变量可以在任何地方声明C. 变量的声明必须在函数的开始处D. 变量的声明可以在代码的任何位置答案:A6. 下列哪个是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D7. 在C语言中,以下哪个选项是正确的?A. 字符串字面量必须以单引号括起来B. 字符串字面量必须以双引号括起来C. 字符串字面量可以以单引号或双引号括起来D. 字符串字面量不能以引号括起来答案:B8. 在C语言中,以下哪个选项是正确的?A. 所有数组元素必须具有相同的数据类型B. 数组的大小在定义时必须确定C. 数组可以是多维的D. 以上都是答案:D9. 在C语言中,以下哪个选项是正确的?A. 指针可以存储任何类型的数据B. 指针可以存储变量的地址C. 指针可以存储函数的地址D. 以上都是答案:B10. 在C语言中,以下哪个选项是正确的?A. switch语句中的case标签必须是整数B. switch语句中的case标签可以是浮点数C. switch语句中的case标签可以是字符串D. switch语句中的case标签可以是任意类型答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于输入的函数是________。
c语言大期末考试题库及详解答案
c语言大期末考试题库及详解答案一、选择题1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 在C语言中,哪个运算符用于取模?A. /B. %C. *D. -答案:B3. 如果一个变量声明为 `int x;`,那么x的类型是什么?A. 浮点型B. 整型C. 字符型D. 双精度型答案:B4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable!2D. variable-2答案:B5. 在C语言中,以下哪个语句用于结束一个循环?A. continueB. breakC. returnD. exit答案:B二、填空题6. C语言中,一个基本的程序结构包括_____、_____和_____。
答案:预处理指令;函数定义;程序的主体7. 以下代码段的输出结果是_____。
```c#include <stdio.h>int main() {int a = 5, b = 10;printf("%d", a + b);return 0;}```答案:158. 在C语言中,若要定义一个字符数组来存储字符串"Hello",正确的声明方式是_____。
char str[] = "Hello";```答案:char str[6];9. 下列代码段中,变量x的最终值是_____。
```cint x = 10;x += x * x - 3 * x + 2;```答案:11210. C语言中,若要计算两个数的乘积,可以使用运算符_____。
答案:*三、简答题11. 解释C语言中指针的概念及其用途。
答案:指针是一种变量,它存储了另一个变量的内存地址。
指针用于访问和操作内存地址中的数据,可以实现动态内存分配、数组操作、函数参数传递等。
c语言期末考试题库大题及详解答案
c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。
答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。
整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。
每种数据类型都有其特定的取值范围和占用内存大小。
2. 请解释C语言中的数组和指针的区别。
答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。
指针是一个变量,它存储另一个变量的内存地址。
数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。
二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。
答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。
大学c语言期末考试题库试题及答案
大学c语言期末考试题库试题及答案在即将到来的大学C语言期末考试中,同学们可能会遇到各种类型的题目。
以下是一些典型的试题及其答案,供同学们复习参考。
1. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. integer答案:A. int2. 若有定义:int a = 10; 则表达式 a++ 的值是多少?A. 9B. 10C. 11D. 无法确定答案:B. 103. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. str_length()D. string_length()答案:A. strlen()4. 若有以下代码片段:```cint x = 5;printf("%d", x++);```执行后输出的结果是?A. 4B. 5C. 6D. 无法确定答案:B. 55. 在C语言中,以下哪个选项表示“逻辑与”操作?A. &&B. ||C. !D. &答案:A. &&6. 若有以下代码:```cint a = 3, b = 4, c;c = a + b;```则变量 c 的值是多少?A. 7B. 3C. 4D. 无法确定答案:A. 77. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2,3];B. int array[2][3];C. int array[2][3][4];D. int array[][];答案:B. int array[2][3];8. 若有以下函数定义:```cint add(int x, int y) {return x + y;}```则调用 add(5, 3) 时,返回的值是多少?A. 2B. 5C. 8D. 无法确定答案:C. 89. 在C语言中,以下哪个选项表示“不等于”的比较运算符?A. ==B. !=C. =D. <=答案:B. !=10. 若有以下代码:```cchar str[] = "Hello";str[0] = 'h';```执行后,str 数组的内容是什么?A. "hello"B. "Hello"C. "helloworld"D. "hEllo"答案:A. "hello"这些题目覆盖了C语言的基础知识点,包括关键字、变量、函数、数组以及基本的控制结构。
大学c语言期末考试题及答案
大学c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言的执行方式是编译执行C. C语言支持面向对象编程D. C语言具有丰富的库函数答案:C2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后不能改变答案:D4. 在C语言中,用于文件操作的库函数是:A. printfC. fopenD. getchar答案:C5. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以被赋值为NULLD. 指针可以存储函数的地址答案:D6. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:B7. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环可以和break语句一起使用C. do-while循环至少执行一次D. 循环体内不能使用continue语句答案:D8. 在C语言中,用于定义一个宏的预处理命令是:B. #includeC. #pragmaD. #import答案:A9. 下列关于函数的描述中,错误的是:A. 函数可以有返回值B. 函数可以没有参数C. 函数可以没有返回值D. 函数可以没有定义答案:D10. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是____。
答案:int2. 在C语言中,表示逻辑与运算的运算符是____。
答案:&&3. 当需要在C语言中表示一个常量时,可以使用关键字____。
湖南工业大学c语言题库
C语言考试模拟题1一、程序修改题(30分)在考生文件夹下,给定程序MODI.C的功能是:输入一个百分制成绩,打印出五级记分成绩。
考试成绩在90分或90分以上为优秀,80~89分为良好,70~79为中等,60~69为及格,低于60分为不及格。
请修改并运行该程序,然后将源程序文件MODI.C提交。
程序中有两处错误,错误都在提示行:/***********found***********/的下面一行,请考生注意。
请改正程序中的错误,使它能得出正确的结果。
注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <math.h>void main(){ int score,t;printf("Please enter a score:");doscanf("%d",&score);while(score<0||score>100);t=score/10; /*************found**************/ switch(score) ----switch(t){ case 10:case 9:printf("优秀!\n");break;case 8:printf("良好!\n");break;case 7:printf("中等!\n");break;case 6:printf("及格!\n");break;/*************found**************/ else :printf("不及格!\n");:}}switch(score) ----switch(t)else :printf("不及格!\n")----defalut: printf("不及格!\n")二、程序填空题(30分)在考生文件夹下,给定程序FILL.C的功能是:打印出1至1000中满足其个位数字的立方等于其本身的所有整数。
湖南工业大学C语言考试题目
湖南⼯业⼤学C语⾔考试题⽬1、#include 改错#includeint arrmax( int arr[3][3]){ int i,j,max;max=arr[0][0];/************found************/for ( i=0; i<3; i++) 此处将1改为0,并且去掉等号for ( j=0; j<3; j++)if (max < arr[i][j]){max = arr[i][j];}return (max);}void main(){ int a[3][3]={4,4,34,7,3,12,5,6,5},i,j;/************found************/printf("The max is: %d\n",arrmax(a)); 将arrmax(a[0][0])改为arrmax(a) 2、#define M 10#includevoid main( ){ int i,a[100],t;//clrscr();for(i=0;i/**************found************/a[i]=i+1;/**************found************/for(i=0;iprintf("%5d",a[i]);printf("\n");}3、#include 编辑#includeint fun(int m){/***********begin***********/int a1,a2,a3,s;a1=m/100;a2=m%100/10;a3=m%10;s=a1+a2+a3;return(s);/************end************/}void main(){ int m,s;//clrscr();printf("Enter m :\n");scanf("%d",&m);s=fun(m);printf("Result is: %d\n",s);4、#include 改错#includemain(){ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s; clrscr();s = 0;/************found************/for ( i=0; i<10; i++) 去掉等号s = s + a[i]; 将i改为a[i]printf("The result is: %d\n", s); }5、#include 填空 #includevoid main( ) {int num,k; //clrscr() ;/************found************/ k=0; 给k 赋值 printf("Please enter a number:") ; scanf("%d",&num) ; do { /************found************/k=k+num%10 ; num%10可求出num 的各位 num/=10; } while(num) ; printf("\n%d\n",k) ;}6、#include 改错 #include #include void main() { int i,j,x,p; //clrscr(); x=1;/************found************/ j=12;while(j>1) 去掉等号 { p=(x+1)*2;/************found************/ x=p;j--; }printf("total is %d\n",p);}7、#include "stdio.h" 改错 void main(){ long int f[20]={1,1}; int i; //clrscr();/**************found************/ f[0]=1;f[1]=1; 赋初值 for(i=0;i<20;i++) {f[i+2]=f[i]+f[i+1]; 保证前⾯两个数要输出,所以要这样改/**************found************/if(i%5==0) printf("\n"); i%5==0保证⼀⾏5个数输出 printf("%8ld",f[i]); } printf("\n");}8、#include 编辑 #include #include double fun(double x) {/***********begin***********/ int q; double n,t,s; n=1; s=0; t=1; q=1;while(fabs(t)>=x){s=s+t;n=n+2;}return s;/***********end***********/}void main(){double x,sum;printf("Enter x:\n");scanf("%lf",&x);sum=fun(x);printf("sum=%.4f\n",sum); NONO( );}9、#include 改错#includeint max;fun ( int arr[],int n ){ int pos,i;max = arr[0];pos = 0;for ( i=1; iif (max{max = arr[i];/************found************/pos= i;}return (pos);}void main(){int a[10]={1,4,2,7,3,12,5,34,5,9},n; //clrscr();printf("The max is: %d ,pos is: %d\n", max , n);}10、#include "stdio.h" 编辑#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=6,n=45,t,i,temp;/***********begin***********/temp=n*m;while(m!=0){i=n%m;n=m;m=i;t=temp/n; 注:此时最⼤公约数是n,要通过此程序会求最⼤公约数} 最⼩公倍数等于两个数的乘积除以它们的最⼤公约数/************end************/printf("The Lowest Common Multiple of %d and %d is %d\n",m,n,t); NONO(m,n,t);}11、#include 填空#include#includemain(){int m,n,i,t;long int s=0;//clrscr();scanf("%d,%d",&m,&n);if( m>n ){ t=m; m=n; n=t;}if ( i%3==0 && i%7==0 ) s += i;/************found************/ printf("Sum is : %ld\n",s );}12 #include 填空 void main(){ long s, t, sl=1; int d; //clrscr();printf("\nPlease enter s:"); scanf("%ld", &s); t = 0;while ( s > 0) { d = s%10;/************found************/if (d%2==0) 判断余数 { t=d * sl + t; sl *= 10; }/************found************/s =s/10; 遇到奇数退出寻环后的处理 }printf("The result is: %ld\n", t); }13、#include "stdio.h" 填空 #include "string.h" void main() { char s[10]; int i; long int n; //clrscr(); /**************found************/ n=0; 赋初值 scanf("%s",s);for(i=0;i/**************found************/n=n*10+s[i]-'0'; 将字符串转换成整数的⽅法printf("n=%ld\n",n);}14、#include "stdio.h" 编辑 #include "math.h" #include "stdlib.h" double fun(int n) {/***********begin***********/double y=1.0; int i;for(i=2;i<=n;i++) y+=1.0/(i*i); return (y)/************end************/}void main() { double s; int n; //clrscr();printf("Enter s:\n"); scanf("%d",&n); s=fun(n);printf("s= %.3f\n",s); NONO( ); }15、⼀样的…/***********begin***********/跟第8题⼀样这个…我也不知道了/***********end***********/}void main(){double x,sum;printf("Enter x:\n");scanf("%lf",&x);sum=fun(x);printf("sum=%.4f\n",sum);17、#include 编辑#includeint fun(int a[3][3]){/***********begin***********/int max=a[0][0];int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(max{max=a[i][j];}/************end************/}void main(){ int a[3][3]={1,2,3,4,9,5,7,8,6}; int i,j,max; // clrscr();printf("array is:\n");for(i=0;i<3;i++){} max=fun(a);printf("Result is: %d\n",max);}18、#include 改错#includevoid main(){ int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min; //clrscr();max = min = a[0][0];for ( i=0; i<3; i++)/************found************/for ( j=0; j<3; j++) 将1改为0{ if ( max < a[i][j] )max = a[i][j];/************found************/if (min >a[i][j]) ⼩于号改为⼤于号min = a[i][j];}printf("The max is: %d\n", max);printf("The min is: %d\n", min);}19、#include 填空#includedouble average( int arr[ ], int n ){ int k=0,i; double s;s = 0;for ( i=0 ;i/************found************/if (arr[i] % 2 ==1) 是恒等号{ s = s + arr[i]; k++; }{int a[12]={10,4,2,7,3,12,5,34,5,9,21,18};double s;// clrscr();/************found************/s = average(a,12); 和第⼀题结果类似printf("The result is: %.2f\n", s);}20、#include "stdio.h" 编辑#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=76,n=40,t,i;/***********begin***********/i=n*m;int r;while(n!=0){r=m%n;m=n;n=r;}t=m;/************end************/printf("The Highest Common Divisor of %d and %d is %d\n",m,n,t); NONO(m,n,t);}NONO( int m,int n,int t){ FILE *f;f=fopen("D:\\exam\\01700311\\PROGOUT.DAT"," w");fprintf(f,"Maximal Common Divisor Of %d and %d is %d\n",m,n,t);21、#include 填空#include#include long int fun(int x){long int s=1; int i;for (i=1;i<=x;i++)s*=i;/************found************/return (s);}void main(){ long int m=12,n=2,s1,s2,s3;//clrscr();s1=fun(m);s2=fun(n);s3=fun(m-n);/************found************/printf("Cmn is : %ld",s1/(s2*s3));}22、#include "stdio.h" 编辑#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=1234,a,b,c,d;/***********begin***********/a=m%10;b=m%100/10; 这⾥补充的4⾏是求四位数各个数位的表⽰⽅法c=m%1000/100;d=m/1000;/************end************/printf("m=%d,%d %d %d %d\n",m,a,b,c,d); NONO(m,a,b,c,d); }{ FILE *f;f=fopen("D:\\exam\\01701219\\PROGOUT.DAT"," w");fprintf(f,"x=%d: %3d%3d%3d%3d####\n",x,a,b, c,d);fclose(f);}23、#include#include#includevoid main(){ int a[10]={2,3,5,7,8,9,10,11,12,13},i,j,k,count;// clrscr();count = 0;for ( i=0; i<10; i++){k=sqrt(a[i]);for ( j=2; j<=k; j++)if (a[i] % j == 0)break;/************found************/if(j>k)count++;}/************found************/printf("prime number(s) is(are): %d",count);}24:求⼀维数组a中值为奇数的元素之和。
(完整版)大学C语言期末考试练习题(带详解答案)
一、单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%x B)a+b C)a123 D)123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
(完整版)c语言期末考试题及其答案
(完整版)c语言期末考试题及其答案挑选题(7分,每小题0.5分)1.C语言源程序的基本单位是()。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。
main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分离是()。
a=125.534; a=(int)125.521%4; a=5nB ++p->nC p->n++D (*p).n++写出下列程序的运行结果(10分,每小题2分)1.float average (float array[10]){ int i;float aver,sum=array[0];for (i=1;i=20) break;if(b%3==1){b+=3; continue; }b-=5;}printf(“a=%d\tb=%d\n”,a,b);}4.main(){ printf(“main( ) :%d\n”,fact(5)); fact(-5);}fact(int value){ int f;if(valuemax)max=array[i][j];(2) ;}main( ){ int a[3][4], i,j;for(i=0;ia[k]) k=j;if(k!=i){ t=a[k]; a[k]=a[i]; a[i]=t;}}printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d ",a[i]); }答案一挑选题(7分,每小题0.5分)1. B2. C3. B4. B5. C6. A7. B8. A9. A 10. C11. A 12. A 13. B 14. D二推断对错,对的划“√”,错的划“×”(5分,每小题0.5分)1.×2.×3.√4.√5.×6.×7.×8.×9.√10.√四阅读下列程序,在处填入适当内容,使程序完整(8分,每个空1分)1.(1)int array[3][4](int array[][4]) (2)return(max)(3)scanf(“%d”,&a[i][j])2.(4)*p (5)px=&x(py=&y) (6)py=&y(px=&x)3.(7) (8)文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
期末c语言考试题库及答案
期末c语言考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-nameD. variable$name答案:C4. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. 'Hello\nWorld'答案:A5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2][3];B. int array(2)(3);C. int array[2,3];D. int array=2[3];答案:A6. C语言中,以下哪个函数用于计算两个数的最大值?A. max(int a, int b)B. max(float a, float b)C. max(double a, double b)D. max(int a, int b) { return (a > b) ? a : b; } 答案:D7. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct Student { int age; string name; };C. struct Student { int age; int name[20]; };D. struct Student { int age; char name; };答案:A8. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int (*ptr)[10];D. int ptr[];答案:A9. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14;D. #define PI 3.14答案:A10. C语言中,以下哪个选项是正确的条件语句?A. if x > 0 then print "Positive";B. if x > 0 { print "Positive"; }C. if (x > 0) print "Positive";D. if (x > 0) { print "Positive"; }答案:D二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是________。
c语言期末考试题库及详解答案
c语言期末考试题库及详解答案1. 以下哪个选项是C语言中正确的整型常量?A. 0x123B. 0123C. 0.123D. 123.0答案:A解析:在C语言中,整型常量可以是十进制、八进制或十六进制。
选项A表示十六进制数,选项B表示八进制数,选项C是浮点数,选项D 是浮点数。
2. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. voidD. function答案:C解析:在C语言中,关键字void用于声明没有返回值的函数。
选项A 和B用于声明返回整型和浮点型值的函数,选项D不是C语言的关键字。
3. 以下哪个选项是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A解析:在C语言中,字符串字面量是由双引号括起来的字符序列。
选项B和D使用了单引号,它们表示单个字符。
选项C的引号没有正确闭合。
4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A解析:在C语言中,百分号(%)是取模运算符,用于计算两个整数相除的余数。
选项B是除法运算符,选项C是乘法运算符,选项D是减法运算符。
5. 以下哪个选项是C语言中正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int [5] array = {1, 2, 3, 4, 5};C. int array[] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2, 3};答案:C解析:在C语言中,数组的声明可以省略数组的大小,编译器会根据初始化列表的长度自动计算数组的大小。
选项A和B的声明方式不正确,选项D没有为数组的所有元素提供初始化值。
6. C语言中,以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C解析:在C语言的标准库中,没有内置的sum函数。
c语言期末考试题库及详解答案
c语言期末考试题库及详解答案C语言作为计算机编程的基础语言,其期末考试通常包含对基础语法、数据结构、算法设计等方面的考察。
以下是一份C语言期末考试题库及详解答案,供学生复习参考。
1. 编写一个C程序,实现两个整数的加法运算,并输出结果。
```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;}```2. 编写一个C程序,实现字符串的反转输出。
```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```3. 编写一个C程序,实现查找数组中的最大值,并输出其索引。
```c#include <stdio.h>int main() {int arr[] = {5, 10, 15, 20, 25};int maxIndex = 0;for (int i = 1; i < 5; i++) {if (arr[i] > arr[maxIndex]) {maxIndex = i;}}printf("数组中的最大值是:%d,其索引为:%d\n",arr[maxIndex], maxIndex);return 0;}```4. 编写一个C程序,实现冒泡排序算法。
C语言程序设计期末考试试题含答案
C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。
2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。
3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。
4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。
5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。
湖南工业大学C语言期末考试复习题(机房题库)
C语言期末考试复习题(机房题库)2、下列各选项中,合法的c语言关键字是()。
A. integexB. sin C。
string D. void 参考答案:D3、C语言的程序一行写不下时,应该()。
A。
用回车符换行B。
在任意一个空格处换行 C. 用分号换行 D. 用逗号换行答案: B4、以下选项中正确的整型常量是( )。
A. 34.1 B。
-80 C. 2,000 D. 1 2 3参考答案: B5、在C程序中,可以作为用户标识符的一组标识符是()。
A。
void define WORD B。
as_b3 _224 Else C. switch _wel ease D. 4b DO SIG答案: B8、以下叙述不正确的是()A。
一个c源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main()函数C。
c程序的基本组成单位是函数D。
在C程序中,注释说明只能位于一条语句的后面答案: D9、C语言规定:在一个源程序中,main()函数的位置( )A。
必须在最开始 B. 必须在系统调用的库函数的后面C。
可以任意 D. 必须在最后参考答案: C10、在C语言中,数字029是一个()A。
八进制数 B. 十六进制数C。
十进制数 D. 非法数参考答案: D12、C语言可执行程序的开始执行点是()A. 程序中的一条可执行语句B。
程序中第一个函数C. 程序中的main函数D。
包含文件中的第一个函数参考答案: C13、C程序是( )A. 顺序执行B。
从Main函数开始C。
从函数体开始 D. 任意语句参考答案: B16、以下说法中正确的是()。
A。
C语言程序中是从第一定义的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C。
C语言程序总是从main()函数开始执行D。
C语言程序中的main()函数必须放在程序的开始部分参考答案:C 17、一个C程序的执行是从( )A。
本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D。
2022年湖南工业大学公共课《C语言》科目期末试卷A(有答案)
2022年湖南工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。
5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、已有一维数组a,n为元素的个数,且各元素均有值;函数void process(float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。
请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。
(1)float arr_add(float*arr,int n)计算数组元素值之和。
(2)float odd_add(float*p,int n)计算下标为奇数的元素之和。
(3)float arr_ave(float*p,int n)计算各元素的平均值。
7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
请填空。
_______;a=b;b=c;_______;9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
c语言期末考试题库
c语言期末考试题库一、选择题(共20题,每题2分,共40分)1. C语言中用于表示字符常量的关键字是:A) charB) constC) stringD) printf2. 下列哪个选项是C语言中用于定义常量的方式?A) DEFINE keywordB) CONST keywordC) CONSTANT keywordD) #define3. 表达式 a = b = 5 的含义是:A) 将b的值赋给aB) 将a的值赋给bC) 将5赋给a和bD) 将a和b的值都设为54. 下列哪个选项是C语言中用于定义宏的方式?A) macroB) defineC) structD) declare5. 下列哪个选项是用于判断两个变量是否相等的运算符?A) ==B) =C) !=D) >6. C语言中的逻辑非运算符是:A) &&B) ||C) !D) ?7. 下列哪个选项是C语言中声明函数时用于指定返回类型的关键字?A) intB) returnC) voidD) main8. C语言中,用于将字符转换为整型值的函数是:A) scanB) getsC) tointD) atoi9. 下列关键字中,用于声明条件语句的是:A) whileB) forC) doD) if10. 在C语言中,访问数组中特定元素的方式是使用:A) 索引号B) 地址C) 偏移量D) 指针11. 下列哪个选项是C语言中用于定义结构体的关键字?A) structB) classD) object12. C语言中的逗号运算符的作用是:A) 连接两个数字B) 分隔函数参数C) 用于条件判断D) 控制程序循环13. 下列哪个语句用于从标准输入读取一个字符串?A) scanf("%d", &str);B) gets(str);C) read(str);D) input(str);14. C语言中用于比较两个字符串是否相等的运算符是:A) ==B) =C) !=D) >15. 在C语言中,字符型数据占用的存储空间大小是:B) 2 bytesC) 4 bytesD) 8 bytes16. 下列哪个选项是C语言中用于声明指针变量的运算符?A) *B) &C) $D) %17. C语言中的条件运算符是:A) ? :B) &&C) ||D) !18. 下列哪个选项是C语言中用于定义枚举类型的关键字?A) enumB) typedefC) defineD) struct19. 在C语言中,用于将浮点数取整的函数是:A) absB) ceilC) floorD) round20. 下列哪个选项是C语言中用于声明常量的关键字?A) constB) varC) intD) float二、填空题(共10题,每题4分,共40分)1. 下面是C语言中定义多维数组的示例代码,请填写横线处缺失的部分:int multiArray[2][3] = { {1, 2, 3}, {4, 5, 6} };2. 下面是C语言中的if语句示例代码,请填写横线处缺失的部分:if (num > 0){printf("Number is ____________.\n");}else if (num < 0){printf("Number is ____________.\n");}else{printf("Number is ____________.\n");}3. 下面是C语言中的for循环示例代码,请填写横线处缺失的部分:for (_______; i < 10; i++){printf("i = %d\n", i);}4. 下面是C语言中的do-while循环示例代码,请填写横线处缺失的部分:do{printf("i = %d\n", i);i++;} while (_______);5. 下面是C语言中用于定义结构体的示例代码,请填写横线处缺失的部分:typedef struct{int age;char name[20];float height;} _________;6. 下面是C语言中的switch语句示例代码,请填写横线处缺失的部分:switch (grade){case 'A':printf("Excellent\n");_________;case 'B':printf("Good\n");break;case 'C':printf("Average\n");break;default:printf("Fail\n");}7. 下面是C语言中定义函数的示例代码,请填写横线处缺失的部分:_______ calculateArea(int length, int width){int area = length * width;return area;}8. 下面是C语言中的数组示例代码,请填写横线处缺失的部分:int array[5] = {1, 2, 3, 4, 5};_______;9. 下面是C语言中用于定义宏的示例代码,请填写横线处缺失的部分:#define MAX(a, b) (a > b ? a : b)10. 下面是C语言中用于声明指针的示例代码,请填写横线处缺失的部分:int *ptr = ________;三、编程题(共40分)请编写一个C语言程序,实现以下功能:1. 定义一个结构体类型,包含学号、姓名和成绩三个成员;2. 声明一个结构体变量数组,长度为5;3. 使用for循环,分别从标准输入中读取每一个学生的学号、姓名和成绩,并存储到结构体变量数组中;4. 使用for循环,打印输出结构体变量数组中的每一个学生的信息,包括学号、姓名和成绩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言期末考试复习题(机房题库)2、下列各选项中,合法的c语言关键字是( )。
A. integexB. sinC. stringD. void 参考答案: D3、C语言的程序一行写不下时,应该( )。
A. 用回车符换行B. 在任意一个空格处换行C. 用分号换行D. 用逗号换行答案: B4、以下选项中正确的整型常量是( )。
A. 34.1B. -80C. 2,000D. 1 2 3参考答案: B5、在C程序中,可以作为用户标识符的一组标识符是( )。
A. void define WORDB. as_b3 _224 ElseC. switch _wel easeD. 4b DO SIG 答案: B8、以下叙述不正确的是( )A. 一个c源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main()函数C. c程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面答案: D9、C语言规定:在一个源程序中,main()函数的位置( )A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后参考答案: C10、在C语言中,数字029是一个()A. 八进制数B. 十六进制数C. 十进制数D. 非法数参考答案: D12、C语言可执行程序的开始执行点是( )A. 程序中的一条可执行语句B. 程序中第一个函数C. 程序中的main函数D. 包含文件中的第一个函数参考答案: C13、C程序是( )A. 顺序执行B. 从Main函数开始C. 从函数体开始D. 任意语句参考答案: B16、以下说法中正确的是( )。
A. C语言程序中是从第一定义的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分参考答案: C17、一个C程序的执行是从( )A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束参考答案: A18、以下叙述正确的是( )A. 在C程序中,main函数必须位于程序的最前面B. C程序的每行中只能写一条语句C. C语言本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案: C1、C源程序的基本单位是___函数__2、一个C源程序中至少应包括一个_________答案: main函数3、在一个C源程序中,注释部分两侧的分界符分别为________和_______参考答案: /*,*/4、函数体用_______开始,用______结束。
参考答案: { , }6、C语言中的标识符只能由3种字符组成,它们是_____、_____和_____参考答案: 字母数字下划线7、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式的值为0的是_______.A. 'a'&&'b'B. a<=bC. a||b+c&&b-cD. !((a < b)&&!c||1) 参考答案: D10、判断字符型变量x是否是大写字母的正确的表达式______.A. 'A'<=x<='Z'B. (x>=A)&&(x<=Z)C. ('A'<=x)&&('Z'=>x)D. (x>='A')&&(x<='Z') 答案: D1、已知char ch;则判断ch是英文字符的逻辑表达式是_______________参考答案: (ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A')2、表示条件:10 < x < 100或x < 0的C语言表达式是________。
参考答案: (X>10&&X<100)|| X<03、写出下面各个逻辑表达式的值,设a=3,b=4,c=51)!(x=a)&&(y=b)&&02)a||b+c&&b-c3)!(a>b)&&!c||1 参考答案: 0,1,14、当a=3,b=2,c=1时,表达式f=a > b > c的值是_________ 参考答案: 06、设y是int型变量,请写出判断y为奇数的关系表达___________.参考答案: (Y%2)==18、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是——。
参考答案: x>5||x<-59、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是——。
参考答案: 01、以下选项中属于C语言的数据类型是A. 复数型B. 逻辑型C. 双精度型D. 集合型参考答案: C2、在C语言中,不正确的int类型的常数是A. 32768B. 0C. 037D. 0xAF 参考答案: A4、在C语言中,合法的长整型常数是A. OLB. 4962710C. 324562&D. 216D 参考答案: A7、以下所列的C语言常量中,错误的是A. 0xFFB. 1.2e0.5C. 2LD. '\72' 参考答案: B9、下列变量名合法的是( )A. #1B. $567C. a-bD. m_number 参考答案: D14、C语言提供的合法的数据类型关键字是:A. DoubleB. shortC. integerD. Char 参考答案: B15、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为A. char < int < long int < =float < doubleB. char=int < long int<=float < doubleC. char < int < long int=float=doubleD. char=int=long int<=float < double 参考答案: A16、下列四组选项中,均不是C语言关键字的选项是A. define IF typeB. getc char printfC. include scanf caseD. while go pow 参考答案: A17、下面四个选项中,均是合法整型常量的选项是A. 160 -0xffff 011B. -0xcdf 01a 0xeC. -0x46a 2e5 0xD. -0x48a 2e5 0x 参考答案: A18、下面四个选项中,均是合法的浮点数的选项是A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-0 参考答案: B20、下面四个选项中,均是不正确的八进制数或十六进制数的选项是A. 016 0x8f 018B. 0abc 017 0xaC. 010 -0x11 0x16D. 0a12 7ff -123 参考答案: D21、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D. a+=a-=(b=4)*(a=3) 答案: A25、设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围A. 0--255B. 0--32767C. 0--65535D. 0—2147483647 参考答案: C2、设有以下变量定义,并已赋确定的值char w; int x; float y; double z;则表达式:w*x+z-y所求得的数据类型为_ :double5、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为___参考答案: int6、表达式pow(2.8,sqrt(double(x)))值的数据类型为___: double ______7、设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为_______参考答案: -32768至327671、算法的表示方法有_答案: 自然语言,传统流程图,N-S流程图,伪代码,计算机语言1、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为________。
A. a < > 0B. !aC. a=0D. a!=0 参考答案: D2、以下程序输出结果是main ( ){ int m=5;if (m++ > 5) printf ("%d\n",m);else printf ("%d\n",m--); }A. 7B. 6C. 5D. 4 参考答案: B4、若变量都已经说明,则以下程序段输出为( )a=10;b=50;c=30;if (a > b) a=b; b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);A. a=10 b=50 c=10B. a=10 b=30 c=10C. a=50 b=30 c=10D. a=50 b=30 c=50 参考答案: B5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C程序中的else总是与____组成配对关系。
A. 其上面距它最近的,并且没有其他else与其配对的if相配对B. 在同一行上的ifC. 缩排位置相同的ifD. 在其之前未配对的if 参考答案: A8、请读程序:main(){ float x,y;scanf("%f",&x);if(x < 0.0) y=0.0else if((x < 5.0)&&(x!=2.0))y=1.0/(x+2.0);else if( x < 10.0) y=1.0/x;else y=10.0;printf("%f\n",y); }若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是A. 0.000000B. 0.250000C. 0.500000D. 1.000000 参考答案: C9、在执行以下程序时,为了使输出结果为t=4,则给a和b输入的值应满足的条件是 Dmain( ){ int s,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a < 0)s=s+1;if(a > b)t=s+1;else if(a= =b)t=5;else t=2*s;printf("t=%d\n",t);}A. 0 > a > bB. a=0 < bC. a=b < 0D. a < b < 010、若有定义: float w; int a, b; 则合法的switch语句是( )A. switch(w) { case1.0: printf("*\n"); case2.0: printf("**\n"); }B. switch(a); { case 1 printf("*\n"); case 2 printf("*\n"); }C. switch(b) { case 1: printf("*\n"); case 2: printf("*\n"); }D. switch(a+b); { case 1: printf("*\n"); default: printf("\n"); case 2 } 参考答案: C11、判断两个字符串S1 和S2 相等的正确语句是____A. if (S1=S2)B. if (S1==S2)C. if (strcpy(S1,S2))D. if (strcmp(S1,S2)==0) 参考答案: D15、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是if(a < b)if(c < d) x=1;elseif(a < c)if(b < d) x=2;else x=3;else x=6;else x=7;A. 1B. 2C. 3D. 6参考答案: B16、读下列程序:#includemain(){int x,y;scanf(”%d”,&x);y=0;if(x>=0){if(x>0)y=1;}else y=-1;prinff(”%d”,y);}当从键盘输入32时,程序输出结果为( )。