C语言期末考试题库试题及答案
- 格式:pdf
- 大小:103.63 KB
- 文档页数:47
C语言期末考试试题及详细答案 一、选择题(每题2分,共20分) 1. 下列哪个选项是C语言中的关键字? A. define B. include C. int D. input
答案:C 2. C语言中,哪个函数用于计算并返回两个整数的和? A. max() B. min() C. sum() D. add()
答案:D 3. 下列哪个选项不是C语言中的基本数据类型? A. int B. float C. char D. string
答案:D 4. 在C语言中,哪个运算符用于比较两个值是否相等? A. == B. != C. = D. <=
答案:A 5. 在C语言中,哪个关键字用于定义一个函数? A. function B. def C. int D. void
答案:B 6. 下列哪个选项是C语言中的控制流语句? A. if B. switch C. for D. All of the above
答案:D 7. 在C语言中,哪个函数用于输出格式化的字符串? A. printf() B. scanf() C. sprintf() D. fprintf() 答案:A 8. C语言中,哪个关键字用于声明一个变量? A. var B. let C. int D. declare
答案:C 9. 下列哪个选项不是C语言中的数组? A. int numbers[10]; B. float values[5]; C. char characters[20]; D. string text;
答案:D 10. 在C语言中,哪个函数用于计算并返回两个数的最大值? A. max() B. min() C. sum() D. All of the above
答案:A 二、填空题(每题2分,共20分) 1. C语言中,用于定义一个整型变量的关键字是________。 答案:int
c语言期末考试题及详细答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. structB. intC. voidD. return答案:C2. 在C语言中,以下哪个运算符用于求两个数的和?A. %B. +C. /D. -答案:B3. 下面哪个选项是C语言中的合法整型常量?A. 0x12B. 1.2e3C. 0123D. 0b101答案:A4. C语言中,以下哪个不是字符串的正确表示方式?A. "Hello, World!"B. 'Hello, World!'C. "Hello\" World!"D. "Hello\nWorld!"答案:B5. 在C语言中,以下哪个选项不是控制语句?A. ifB. forC. switchD. break答案:D6. C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. sqrt()D. pow()答案:A7. 在C语言中,以下哪个关键字用于定义指针?A. intB. floatC. charD. *答案:D8. 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 = {1, 2, 3, 4, 5};答案:B9. C语言中,以下哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. fgets()D. fputs()答案:A10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct { int age; char name[20]; };C. struct Student { int age; int name[20]; };D. struct { int age; char name; };答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于定义一个空函数体的关键字是________。
c语言期末考试考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言具有丰富的数据类型答案:B2. C语言中,用于定义一个字符型变量的关键字是()。
A. intB. charC. floatD. double答案:B3. 在C语言中,以下哪个运算符用于取模运算()。
A. %B. /C. *D. -答案:A4. 下列关于C语言函数的描述中,正确的是()。
A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是voidD. 函数必须有参数5. C语言中,以下哪个关键字用于定义一个数组()。
A. intB. floatC. arrayD. struct答案:A6. 在C语言中,以下哪个选项不是合法的变量名()。
A. _firstB. first$C. 2ndD. first_name答案:C7. C语言中,以下哪个选项是正确的注释方式()。
A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释答案:B8. 在C语言中,以下哪个选项是正确的字符串常量()。
A. "Hello"B. 'Hello'C. "HelloD. "Hello答案:A9. C语言中,以下哪个选项用于定义一个结构体()。
B. unionC. enumD. typedef答案:A10. 在C语言中,以下哪个选项用于定义一个指针()。
A. int *p;B. int p;C. int *p[];D. int (*p)();答案:A二、填空题(每题2分,共20分)1. 在C语言中,关键字________用于定义一个全局变量。
答案:extern2. C语言中,关键字________用于定义一个静态变量。
答案:static3. 在C语言中,关键字________用于定义一个常量。
c语言期末考试试题及答案 一、单项选择题(每题2分,共20分) 1. C语言中,以下哪个关键字用于定义一个结构体? A. struct B. union C. enum D. typedef
答案:A 2. 在C语言中,以下哪个函数用于将浮点数转换为字符串? A. sprintf B. printf C. scanf D. strcat
答案:A 3. 下面哪个选项是正确的C语言变量声明? A. int a = 10, b = 20; B. int a = 10; int b = 20; C. int a = 10; b = 20; D. int a = 10, b = 20;
答案:B 4. C语言中,以下哪个运算符用于逻辑非? A. ! B. || C. && D. |
答案:A 5. 在C语言中,以下哪个函数用于计算字符串的长度? A. strlen B. strcpy C. strcat D. strcmp
答案:A 6. C语言中,以下哪个关键字用于声明一个函数? A. define B. include C. function D. void
答案:D 7. 在C语言中,以下哪个选项是正确的二维数组声明? A. int array[3][2]; B. int array[][]; C. int array[3][]; D. int array; 答案:A 8. C语言中,以下哪个关键字用于声明一个指针? A. pointer B. ptr C. * D. ref
答案:C 9. 在C语言中,以下哪个函数用于动态分配内存? A. malloc B. calloc C. realloc D. free
答案:A 10. C语言中,以下哪个选项是正确的函数定义? A. int add(int a, int b) { return a + b; } B. int add(a, b) { return a + b; } C. int add(int a, b) { return a + b; } D. int add(a, b) { return a + b; }
1【程序填空】---------------------------------------------------------
题目:下面函数为二分法查找key值。数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。
-------------------------------------------------------*/ #include fun(int a[],int n,int key) { int low,high,mid; low=0; high=n-1; /***********SPACE***********/ while(【low<=high】) { mid=(low+high)/2; /***********SPACE***********/ if(key/***********SPACE***********/ else if(key>a[mid]) 【low=mid+1】; /***********SPACE***********/ else 【return(mid)】; } return -1; }
void main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int b,c; b=4; c=fun(a,10,b); if(c==-1)printf("not found"); else printf("position %d\n",c); }
/*------------------------------------------------------- 2 【程序填空】---------------------------------------------------------
题目:求n!,n值由键盘输入。-------------------------------------------------------*/ #include void main() { int n,i; float t; printf("please input n(n>=0):"); /***********SPACE***********/ scanf("%d",【&n】); i=1; t=1.0; /***********SPACE***********/ while(【i<=n】) /***********SPACE***********/ { 【t*=i】i++; } printf("%d!=%f",n,t); }
a/*------------------------------------------------------- 3 【程序填空】---------------------------------------------------------
题目:以下程序的功能是统计一个字符串中的字母、数字、空格、和其它字符的个数。
-------------------------------------------------------*/ #include "stdio.h" main () { char s1[80];int a[4]={0}; int k; /***********SPACE***********/ 【void fun(char s[],int[])】; gets(s1); /***********SPACE***********/ 【fun(s1,a)】; puts(s1); for(k=0;k<4;k++) printf("%4d",a[k]); } void fun(char s[],int b[]) { int i; for (i=0;s[i]!='\0';i++) if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++; /***********SPACE***********/ else if (【'0'<=s[i]&&s[i]<='9'】) b[1]++; /***********SPACE***********/ else if (【s[i]==32】) b[2]++; else b[3]++; } /*------------------------------------------------------- 4 【程序填空】---------------------------------------------------------
题目:判断一个给定的整数是否为素数。-------------------------------------------------------*/ #include #include "math.h" void main( ) { int m,i,k; scanf("%d",&m); k=sqrt(m); /***********SPACE***********/ for(i=2;【i<=k】;i++) /***********SPACE***********/ if(【m%i==0】) break; /***********SPACE***********/ if(【i>k】) printf("Yes\n"); else printf("No\n"); }
/*------------------------------------------------------- 5 【程序填空】---------------------------------------------------------
题目:以下程序的功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。
-------------------------------------------------------*/ #include /***********SPACE***********/ int fun(【int k】) { int m=0, mc=0; /***********SPACE***********/ while (k >= 2 && 【mc<10】) { /***********SPACE***********/ if (k%13 == 0 || 【k%17==0】) { m = m+ k; mc++; } k--; } /***********SPACE***********/ 【return(m)】; }
void main ( ) { printf("%d\n", fun (500)); }
/*------------------------------------------------------- 6 【程序填空】---------------------------------------------------------
题目:输入N个数据存入数组中,将其倒置存放,并打印输出。-------------------------------------------------------*/ #include #define N 10 void main( ) { int i, t, a[N]; printf("Enter %d Numbers:\n", N); for(i=0;i/***********SPACE***********/ scanf("%d",【&a[i]】); /***********SPACE***********/ for(i=0;i<【n/2】;i++) { t=a[i]; /***********SPACE***********/ a[i]=【a[n-i-1]】; a[N-i-1]=t; } for(i=0;iprintf("%d ",a[i]); } /*------------------------------------------------------- 7 【程序填空】--------------------------------------------------------- 题目:输出Fibonacci数列的前15项,要求每行输出5项。
Fibonacci数列:1,1,2,3,5,8,13........... -------------------------------------------------------*/
#include void main() { /***********SPACE***********/ int 【fib】[15],i; fib[0]=1;fib[1]=1; for (i=2;i<15;i++) /***********SPACE***********/ fib[i]=【fib[i-2]+fib[i-1]】; for(i=0;i<15;i++) { printf("%d\t",fib[i]); /***********SPACE***********/ if ( 【i%5==4】) printf("\n"); } } /*------------------------------------------------------- 8 【程序填空】---------------------------------------------------------
题目:以下程序的功能是求100-999之间的水仙花数(水仙花数是指一个三位数的各个位数字的立方和是这个数本身,如:153=1^3+5^3+3^3)。
-------------------------------------------------------*/ #include int fun(int n) { int i,j,k,m; m=n; /***********SPACE***********/ 【k=0】for(i=1;i<4;i++) { /***********SPACE***********/