C程序设计期末上机考试经典题

合集下载

aa《C程序设计》课程期末上机考试

aa《C程序设计》课程期末上机考试

aa《C程序设计》课程期末上机考试考试时间:50分钟考试方式:从下面的20题中随机抽取一题,再附加一题,共需完成2道题。

附加题不事先给定分值分配:第一题60分,第二题40分,共100分考试时间:第十七周周二与周三,2014年6月24、25号1. 编写函数long fun(long x),它的功能是:将长整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。

高位仍在高位,低位仍在低位。

例如:下面程序运行时输入:124578902,程序输出:24802.#include<stdio.h>long fun(long x){int n=10,m=0;while (x){int t=x%10;if(t%2==0){m+=t*n/10;n*=10;}x/=10;}return m;}void main(){long a,b;printf("Enter a number:");scanf("%ld",&a);b=fun(a);printf("b=%ld\n",b);}2. 编写函数void fun(int k,int *p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。

例如:下面程序运行时若输入200,输出:2 5;若输入27720,输出:2 3 5 7 11;若输入101,输出101。

#include<stdio.h>void fun(int k,int *p){ int j=2,n=0;do{ if (k%j==0){ p[n]=j;n++; }while(k%j==0){ k=k/j; }j++; }while (j<=k);p[n]=-1; }int main(){ int x,a[17],i;do{ printf("Enter a number(2-32767):");scanf ("%d",&x); }while(x<2);for(i=0;a[i]!=-1;i++)printf("%d ",a[i]);printf("\n"); }3. 编写函数void fun(int *x,int n),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。

C语言程序设计上机考试试题和参考答案

C语言程序设计上机考试试题和参考答案
char str1[80], str2[80]; int m, n;
printf("Input str1:\n"); gets(str1); //1
printf("Input m and n:\n"); scanf("%d%d", &m, &n); //1
mystrcpy(str1, str2, m, n); //2 puts(str2); }
1、请按行读入数据 2、请按给定的函数原型编写程序,否则即使程序运行结果正确,也不给分。 参考答案
#include<stdio.h>
void Input(int a[][10], int n);
int Compute(int a[][10], int n);
main()
{
int n, a[10][10]; int sum;
//2
{
int i, flag = 0, sum = 0; //1
for (i = 1; i <= n / 2; i++) //1
{
if (n % i == 0)
//1
{
sum = sum + i; //1
}
}
if (sum == n)
//1
{
flag = 1;
}
return flag;
//1
} 3.(15 分)请按给定要求编程计算方阵的主对角线之和。其中方阵的输入请在 Input 函数实现,计算主对角之和请在 Compute 函数实现,计算结果请在主函数打印, 且给定的方阵最大为 10x10,方阵实际大小请在主函数读入。Input 函数和 Compute 函数的函数原型如下:

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案在本次大一C程序设计的期末考试中,我们精心准备了以下题目,旨在考察同学们对C语言基础知识的掌握程度以及编程能力。

以下是考试题目及参考答案。

一、选择题(每题2分,共20分)1. C语言中,哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. variable$name答案:C3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 若有以下代码片段:```cint a = 5;int b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,哪个函数用于输入字符?A. scanf()B. printf()C. getchar()D. getc()答案:C7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while8. 在C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D9. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A10. 在C语言中,哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言考试期末考试复习题及答案一、选择题(1)一个C语言程序总是从()开始执行A)书写顺序的第一个函数B)书写顺序的第一条执行语句C)主函数main( )D)不确定(2)设int x=3,y=4,z=5,则下列表达式中的值为0的是()A) ‘x'&&’y’B)x||y+z&&y—z C) x〈=y D)!((x〈y)&&!z||1)(3)执行以下程序段后,i的值是()int i=10;switch(i+1){case 10:i++; break;case 11:++i;case 12:++i;break;default :i=i+1;}A) 11 B)13 C) 12 D) 14(4)语句while(!e);中的条件!e等价于()A)e==0 B)e!=1 C) e!=0 D)运行时出错(5)用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是()A)随机值B) 0 C) 1 D)F(6)在执行char str[10]=“china\0”;strlen(str)的结果是()A)5 B) 6 D) 7 D 9(7)若有定义,char *p=”computer";则语句printf(“%c”,*(p+2))运行结果是()A) 随机值B) m C)o D)omputer(8)在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为()A) 8 B) 4C)5 D)编译出错(9)在说明一个结构体变量时系统分配给它的存储空间是()A)该结构体中第一个成员变量所需存储空间B)该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和Key:CDCAB ABBD1。

用C语言编写的代码程序A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2。

C程序设计期末考试习题(含答案)

C程序设计期末考试习题(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)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。

C语言程序设计期末考试卷及问题详解

C语言程序设计期末考试卷及问题详解

文案大全C 语言程序设计期末考试卷及答案一、单项选择题。

从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。

1.一个C 语言程序的执行是从( )。

A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。

A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。

A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。

A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。

A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。

A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。

#include <stdio.h> void main( ){ int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。

c程序设计考试题目及答案

c程序设计考试题目及答案

c程序设计考试题目及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 若有定义`int a = 5;`,则执行`a += 3;`后,变量a的值是多少?A. 3B. 5C. 8D. 无法确定答案:C4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. $variableD. variable!答案:B5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][];B. int array[][3];C. int array[3][3];D. int array[][];答案:C7. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A8. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for i = 0; i < 10; i++C. for (int i = 0; i < 10;)D. for (i = 0; i < 10; i++)答案:A9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int, int);B. int add(int a, int b)C. int add(int, int) {}D. int add(a, b)答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr[10];D. int ptr(int);答案:A二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于__输出__。

c程序设计期末考试试题及答案

c程序设计期末考试试题及答案

c程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. 下面哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. %答案:A3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B4. 下列哪个选项是正确的C语言变量声明?A. int num = 10;B. int num = "10";C. int num = '10';D. int num = 10.0;答案:A5. C语言中,以下哪个语句用于循环执行代码块?A. forB. whileC. ifD. switch答案:A6. 在C语言中,以下哪个函数用于计算数组中元素的总和?A. sum()B. count()C. average()D. max()答案:A7. 下列哪个选项是C语言中正确的注释格式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A8. 在C语言中,如何定义一个指向整数的指针?A. int *p;B. int *p = 0;C. int *p = 10;D. int p = 10;答案:A9. 在C语言中,以下哪个选项是正确的函数定义?A. int function() {}B. int function() { return 0; }C. int function() { return; }D. int function() { return 1; }答案:B10. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. 'Hello, World'答案:A二、填空题(每题3分,共15分)1. 在C语言中,使用________运算符可以交换两个变量的值。

年国家开放大学电大《C语言程序设计》期末考试及答案参考

年国家开放大学电大《C语言程序设计》期末考试及答案参考

年国家开放大学电大《C语言程序设计》期末考试及答案参考[试题分类]:C语言程序设计1.下列关于 C语言中 main 函数位置的叙述中,正确的是 A.必须在程序的最后 B.必须在程序的开始处 C.可以在程序中的任意位置 D.必须在系统调用的库函数后面答案:C 题型:单选题知识点:第 2章C 语言概述难度:12.下列选项中,不能作为 C语言标识符是 A.__ B.int C.a_1 D.ab1e_e 答案:B 题型:单选题知识点:第 2章C 语言概述难度:13.若有定义“int i; float f; double d;”,则表达式“10+d+i_f”的数据类型为 A.int B.float C.double D.不确定答案:C 题型:单选题知识点:第 3章数据类型与运算规则难度:14.判断 char型变量 c 是否为小写字母的正确表达式为 A."a"<=c<="z" B.(c>=a)&;&;(c<=z) C.("a">=c)("z"<=c) D.(c>="a")&;&;(c<="z") 答案:D 题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int _=11;”,则表达式“(_++_1/3) ”的值是 A.12 B.11 C.4 D.3 答案:D 题型:单选题知识点:第 3章数据类型与运算规则难度:26.若有定义“int a=1,b=2,c=3,d=4;”,则表达式“a<b?a:c<d?c:d”的值是 A.1 B.2 C.3 D.4 答案:A 题型:单选题知识点:第 3章数据类型与运算规则难度:27.若有定义“int a=1, b=0, c=0, _=35;”,则执行下列程序段后,变量 _的值是if(!a) _--;else if(b);if(c) _=3;else _=4; A.3 B.4 C.34 D.35 答案:B 题型:单选题知识点:第 5章选择结构的程序设计难度:28.{ 若有定义“int _=1,y=1,m=1,n=1;”,则执行下列语句后,变量 _和 y的值分别是switch (m) \{case 0: _=__2;case 1:switch (n) \{case 1: _=__2;case 2: y=y_2; break;case 3: _++;\}case 2: _++; y++;case 3: __=2; y_=2; break;default: _++;y++;\} } A._=2,y=1 B._=2,y=2 C._=6,y=6 D._=7,y=7 答案:C题型:单选题知识点:第 5章选择结构的程序设计难度:29.若有定义“int i,j;”,执行语句“for (i=0,j=1; i<=j+1; i+=2,j--) printf (“%d”,i);”时的循环次数是 A.3 B.2 C.1 D.0 答案:C 题型:单选题知识点:第 6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--)printf(“%d”,n--);”后的输出结果是 A.20 B.31 C.210 D.321 答案:B 题型:单选题知识点:第 6章循环结构的程序设计难度:211.{ 若有定义“int _=3;”,则执行下列语句后的输出结果是do \{printf(“%d ”,_+=1);\} while(--_); }A.4 B.4 4 4 D.死循环答案:D 题型:单选题知识点:第 6章循环结构的程序设计难度:212.若有定义“char a[]=“_yz”,b[]={"_","y","z"};”,则下列叙述中正确的是 A.数组 a 的长度大于数组 b 的长度 B.数组 a 的长度小于数组 b 的长度 C.数组 a 和数组 b 的长度相同 D.数组 a 和数组 b 等价答案:A 题型:单选题知识点:第7章数组难度:113.{ 若有定义“intaa[4][4]=\{\{1,2,3,4\},\{5,6,7,8\},\{3,9,10,2\},\{4,2,9,6 \}\}, i,s=0;”,则执行下列语句后,变量 s 的值是for(i=0;i<4;i++)s+=aa[i][0];} A.20 B.19 C.11 答案:C 题型:单选题知识点:第 7章数组难度:214.调用函数时,若实参是一个数组名,则向函数传送的是 A.数组的长度 B.数组的首地址 C.数组每一个元素的地址 D.数组每个元素中的值答案:B 题型:单选题知识点:第 8章函数难度:115.下列各函数首部中,正确的是 A.void play(var :Integer,var b:Integer) B.void play(int a,b) C.Sub play(a as integer,b as integer) D.void play(int a,int b) 答案:D 题型:单选题知识点:第 8章函数难度:116.若有定义“int n=2,_p=&;n,_q=p; ”,则下列选项中,非法的赋值语句是 A.p=n; B.p=q; C.n=_q; D._p=_q; 答案:A 题型:单选题知识点:第 9章指针难度:217.若有定义“int _p[3]; ”,则下列叙述中正确的是 A.定义了一个类型为 int 的指针变量 p,该变量具有三个指针B.定义了一个名为_p的整型数组,该数组含有三个 int 类型元素 C.定义了一个指向一维数组的指针变量 p,该一维数组应具有三个 int 类型元素 D.定义了一个指针数组 p,该数组含有三个元素,各元素都是基类型为 int 的指针答案:D 题型:单选题知识点:第 9章指针难度:218.下列对枚举类型名的定义中正确的是 A.enum a={one,two,three}; B.enum a {one=9,two=-1,three}; C.enum a={“one”, “two”, “three”}; D.enum a{“one”, “two”, “three”}; 答案:B 题型:单选题知识点:第 10章结构、联合与枚举类型难度:219.{ 若有如下定义:struct student\{int num;int age;\}stu[3]=\{\{1001,20\} , \{1002,19\} , \{1003,21\}\} , _p=stu; 则下列表达式中,值为 1002的是 } A.p++->num B.(p++)->age C.(_++p).numD.(_p).num 答案:C 题型:单选题知识点:第 10章结构、联合与枚举类型难度:220.下列选项中,可以作为函数 fopen中第一个参数的是 A.“c:\\user\\te_t.t_t” B.c:\user\te_t.t_t C.“c:\user\te_t.t_t”D.c:user\te_t.t_t 答案:A 题型:单选题知识点:第 11章文件难度:121.若 y是 int型变量,则判断 y 为偶数的关系表达式为__________。

C语言程序设计(期末考试)

C语言程序设计(期末考试)

C语言程序设计(期末考试)选择题,每空一分(共80题)1.C语言程序是由()构成的。

A)一些可执行语言B)main函数C)函数(正确答案)D)包含文件中的第一个函数2.()是构成C语言程序的基本单位。

A、函数(正确答案)B、过程C、子程序D、子例程3.C语言程序从()开始执行。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数(正确答案)D)包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在()。

A)程序文件的开始B)程序文件的最后C)它所调用的函数的前面D)程序文件的任何位置(正确答案)5、以下说法中正确的是()。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行(正确答案)D、C语言程序中的main()函数必须放在程序的开始部分6.下列方法中错误的是()。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

(正确答案)7.下列说法错误的是()A.C程序运行步骤是编辑、编译、连接、执行。

B.C语言的变量名必须用小写,常量用大写。

(正确答案)C.C语言的三种基本结构是顺序、选择、循环。

D.C程序一定由函数构成的。

8.下列关于C语言的说法错误的是()。

A.C程序的工作过程是编辑、编译、连接、运行B.C语言不区分大小写。

(正确答案)C.C程序的三种基本结构是顺序、选择、循环D.C程序从main函数开始执行9.VC默认的C语言源程序扩展名为.CPP,需经过()之后,生成.exe文件,才能运行。A)编辑、编译B)编辑、连接C)编译、连接(正确答案)D)编辑、改错10.下列说法中正确的是()。

A.由于C源程序是高级语言程序,因此一定要在VC软件中输入。

c语言程序设计上机答案

c语言程序设计上机答案

c语言程序设计上机答案C语言程序设计是一门实践性很强的课程,上机练习是掌握C语言编程技能的重要环节。

以下是一些常见的C语言上机练习题目及其参考答案,供学习者参考。

1. 打印“Hello, World!”```c#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 + %d = %d\n", a, b, sum);return 0;}```3. 判断一个数是否为素数```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); ++i) { if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

\n", num);} else {printf("%d 不是素数。

\n", num); }return 0;}```4. 计算圆的面积```c#include <stdio.h>#include <math.h>double calculateArea(double radius) {return M_PI * radius * radius;}int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = calculateArea(radius);printf("半径为 %f 的圆的面积是:%f\n", radius, area); return 0;}```5. 字符串反转```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;}```6. 计算阶乘```c#include <stdio.h>unsigned long long factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个非负整数:");scanf("%d", &num);printf("%d 的阶乘是:%llu\n", num, factorial(num)); return 0;}```7. 排序算法(冒泡排序)```c#include <stdio.h>void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; ++i) {for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);bubbleSort(arr, n);printf("排序后的数组是:\n");for (int i = 0; i < n; ++i) {printf("%d ", arr[i]);}printf("\n");return 0;}```8. 寻找最大值```c#include <stdio.h>int findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; ++i) {if (arr[i] > max) { max = arr[i]; }}return max;。

《C程序设计》课程期末上机考试

《C程序设计》课程期末上机考试

《C程序设计》课程期末上机考试《C程序设计》课程期末上机考试考试时间:40分钟考试方式:从下面的20题中随机抽取一题,再附加一题,共需完成2道题。

分值分配:第一题60分,第二题40分,共100分考试时间:第十八周1.请编写函数long fun(long int x),功能是:将长整型数x中每一位上为奇数的数依次取出,并逆序构成一个新数返回。

例如:程序运行时输入,输出:b=97531。

#includelong fun(long int x){}void main(){long a,b;printf("Please input a long int num:");scanf("%ld",&a);b=fun(a);printf("b=%ld\n",b);}2.编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。

例如: 当s为"12345", t为""时, p中的字符为: "867";当s为”good luck”,t为”thank you very much”时,输出:”thanyverm”#includevoid fun(char *s,char *t,char *p){}void main(){char s1[50],s2[50],s3[50];gets(s1);gets(s2);fun(s1,s2,s3);puts(s3);}3.编写函数int fun(int m),计算并返回满足表达式:1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)<=m最大的n。

例如,当m=10000时,程序输出:n=38。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量名必须以字母开头B. 变量名中可以包含下划线C. 变量名区分大小写D. 变量名可以包含数字答案:D2. C语言中,用于定义字符常量的是:A. 单引号B. 双引号C. 反引号D. 尖括号答案:A3. 下列哪个选项不是C语言中的运算符?A. 赋值运算符B. 关系运算符C. 逻辑运算符D. 条件运算符答案:D4. 在C语言中,用于定义一个整型数组的语句是:A. int array[5];B. int array[];C. int array[5]={0};D. int array[5]={0,1,2,3,4};答案:A5. 下列关于C语言函数的描述,正确的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 所有选项都是正确的答案:D6. C语言中,用于输入输出的库函数是:A. printfB. scanfC. printf和scanfD. 以上都不是答案:C7. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B8. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A9. 下列关于C语言中循环的描述,错误的是:A. for循环可以没有初始化部分B. while循环可以嵌套使用C. do-while循环至少执行一次D. 循环体内可以包含break语句答案:A10. C语言中,用于定义枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是____。

答案:int2. 在C语言中,表示逻辑与的运算符是____。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C程序设计期末上机考试经典题(后附详细答案) (1)【程序填空】---------------------------------------------------------功能:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。

-------------------------------------------------------*/#include<stdio.h>void strcopy(char *str1,char *str2,int m){char *p1,*p2;/***********SPACE***********/【?】;p2=str2;while(*p1)/***********SPACE***********/【?】;/***********SPACE***********/【?】;}main(){int m;char str1[80],str2[80];gets(str1);scanf("%d",&m);/***********SPACE***********/【?】;puts(str1);puts(str2);}(2)/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:下面函数为二分法查找key值。

数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。

-------------------------------------------------------*/#include <stdio.h>fun(int a[],int n,int key){int low,high,mid;low=0;high=n-1;/***********SPACE***********/ while(【?】){mid=(low+high)/2;if(key<a[mid])/***********SPACE***********/【?】;else if(key>a[mid])/***********SPACE***********/ 【?】;else/***********SPACE***********/【?】;}return -1;}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");elseprintf("position %d\n",c);}(3) 【程序填空】功能:产生并输出杨辉三角的前七行。

11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1-------------------------------------------------------*/ #include <stdio.h>main ( ){int a[7][7];int i,j;for (i=0;i<7;i++){a[i][0]=1;/***********SPACE***********/【?】;}for (i=2;i<7;i++)/***********SPACE***********/for (j=1;j<【?】;j++)/***********SPACE***********/a[i][j]=a[i-1][j-1]+a[i-1][j];for (i=0;i<7;i++){/***********SPACE***********/for (j=0; 【?】;j++)printf("%6d",a[i][j]);printf("\n");}}(4)【程序改错】-------------------------------------------------------- 功能:利用二维数组输出如图所示的图形。

*******************************------------------------------------------------------*/ #include <stdio.h>#include <conio.h>/**********FOUND**********/#define N= 7main(){char a[N][N];int i,j,z;for(i=0;i<N;i++)for(j=0;j<N;j++)/**********FOUND**********/a[i][j]=;z=0;for(i=0;i<(N+1)/2;i++){for(j=z;j<N-z;j++)a[i][j]='*';z=z+1;}/**********FOUND**********/z=0;for(i=(N+1)/2;i<N;i++){z=z-1;for(j=z;j<N-z;j++)a[i][j]='*';}for(i=0;i<N;i++){for(j=0;j<N;j++)/**********FOUND**********/printf("%d",a[i][j]);printf("\n");}}(5) /*------------------------------------------------------【程序改错】--------------------------------------------------------功能:将字符串s中最后一次出现的子字符串t1替换成字符串t2, 所形成的新串放在w所指的数组中,在此处,要求t1和t2所指字符串的长度相同。

例如:当s所指字符串中的内容为"abcdabfabc",t1中的内容为"ab",t2中的内容为"99"时,结果w所指数组中的内容应为"abcdabf99c"。

------------------------------------------------------*/#include <conio.h>#include <stdio.h>#include <string.h>void fun (char *s, char *t1, char *t2 , char *w) {char *p , *r, *a;strcpy( w, s );/**********FOUND**********/while ( w ){p = w; r = t1;while ( *r )/**********FOUND**********/if ( *r = *p ){r++;p++;}elsebreak;/**********FOUND**********/if ( *r == '/0' ) a = w;w++;}r = t2;while ( *r ){/**********FOUND**********/a = *r;a++;r++;}}main(){char s[100], t1[100], t2[100], w[100];printf("\nPlease enter string S:"); scanf("%s", s); printf("\nPlease enter substring t1:"); scanf("%s", t1); printf("\nPlease enter substring t2:"); scanf("%s", t2); if ( strlen(t1)==strlen(t2) ){fun( s, t1, t2, w);printf("\nThe result is : %s\n", w);}elseprintf("\nError : strlen(t1) != strlen(t2)\n");}(6) 【程序改错】功能:给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。

例如:n=6时,输入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得平均值为40.828335,在平均值以下的实数个数应为3。

------------------------------------------------------*/#include <stdio.h>int fun(double x[],int n){int j,c=0;/**********FOUND**********/float j=0;/**********FOUND**********/for(j=0;j<=n;j++)xa+=x[j];xa=xa/n;printf("ave=%f\n",xa);/**********FOUND**********/for(j=0;j<=n;j++)if(x[j]<=xa) c++;/**********FOUND**********/return xa;}main(){double x[]={23.5,45.67,12.1,6.4,58.9,98.4};printf("%d\n",fun(x,6));}(7) /*------------------------------------------------【程序设计】--------------------------------------------------功能:从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。

例如:7是素数,8不是素数。

请编写fun函数。

素数是仅能被1和自身整除的数-------------------------------------------------*/#include <stdio.h>void wwjt();int fun(int n){/**********Program**********//********** End **********/ }main(){int m,flag;printf("input an integer:");scanf("%d",&m);flag=fun(m);if(flag)printf("%d is a prime.\n",m);elseprintf("%d is not a prime.\n",m);wwjt();}void wwjt(){FILE *IN,*OUT;int iIN,iOUT,i;IN=fopen("5.IN","r");if(IN==NULL){printf("Please Verify The Currernt Dir..it May Be Changed"); }OUT=fopen("5.out","w");if(OUT==NULL){printf("Please Verify The Current Dir.. it May Be Changed"); }for(i=0;i<10;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}(8) 【程序设计】--------------------------------------------------功能:编写函数fun求1!+2!+3!+ ……+n!的和,在main函数中由键盘输入n值,并输出运算结果。

相关文档
最新文档