苏州科技学院c语言期末考试笔试试卷

合集下载

2022年江苏科技大学苏州理工学院公共课《C语言》科目期末试卷A(有答案)

2022年江苏科技大学苏州理工学院公共课《C语言》科目期末试卷A(有答案)

2022年江苏科技大学苏州理工学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读以下函数:getbits(unsigned x,unsigned p,unsigned n)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。

若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。

2、C语言的源程序必须通过【】和【】后,才能被计算机执行。

3、在C语言源程序中,一个变量代表【】。

4、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow (y,fabs(x))的值为_______5、在C语言的赋值表达式中,赋值号左边必须是_______6、下面程序段的运行结果是_______。

char*p="PDP1-0";int i,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是_______,改正后为_______。

void add(float a,float b){float c;c=a+b;return c;}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’,正确的输入形式是_______。

char cl,c2;scanf("%4c%4c",&cl,8&c2);10、在C语言中,二维数组元素在内存中的存放顺序是_______。

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

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

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a'+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(〈CR>表示回车),x的值是()。

#include<stdio。

h>main(){int x;float y;scanf(”%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是()#include<stdio.h>{int i=10,j=10;printf(”%d,%d\n”,++i,j——);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是()#include〈stdio.h〉main(){char c1='A',c2='Y’;printf(”%d,%d\n”,c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

c语言大一期末考试题库及详解答案

c语言大一期末考试题库及详解答案

c语言大一期末考试题库及详解答案C语言大一期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言的关键字?A. IntegerB. StringC. FloatD. None of the above答案:D2. 在C语言中,定义一个整型变量的正确语法是什么?A. int var;B. var int;C. integer var;D. var integer;答案:A3. 以下哪个表达式的结果不是整数?A. 3 / 2B. 7 % 3C. 10 / 2D. 8 / 2答案:A二、填空题1. 在C语言中,用于定义数组的关键字是________。

答案:Array2. 一个C语言程序的执行从________函数开始。

答案:main3. 以下语句的输出结果是________。

```cint a = 5, b = 10;printf("%d", a + b);```答案:15三、简答题1. 简述C语言中指针的概念及其用途。

答案:指针是C语言中用来存储变量地址的变量。

它允许程序员直接访问内存地址,从而可以动态地操作内存。

指针的用途包括动态内存分配、实现数据结构如链表、数组的遍历等。

2. 解释C语言中的函数重载。

答案:C语言不支持函数重载。

在C语言中,如果两个或多个函数具有相同的名称但参数列表不同,编译器会报错。

这是与支持函数重载的语言(如C++)的主要区别。

四、编程题1. 编写一个C语言程序,实现计算并输出1到100的整数之和。

```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("The sum of numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转的功能。

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语言大一期末考试题库及详解答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 以下哪个函数用于将字符串复制到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:B5. 在C语言中,以下哪个数据类型用于存储浮点数?A. intB. floatC. charD. double答案:B6. 以下哪个选项不是C语言中合法的变量名?A. _myVarB. my_varC. 2myVarD. my_var2答案:C7. C语言中,以下哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A8. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. def答案:A9. 以下哪个选项不是C语言中合法的注释?A. // This is a commentB. /* This is a comment */C. /* This is a comment */D. // This is a comment答案:C10. 在C语言中,以下哪个关键字用于定义一个指针?A. ptrB. pointerC. *D. ref答案:C二、填空题(每题2分,共20分)1. C语言中,定义一个整型变量的关键字是________。

答案:int2. 用于定义一个字符变量的关键字是________。

答案:char3. C语言中,用于定义一个浮点型变量的关键字是________。

答案:float4. 在C语言中,________运算符用于比较两个数是否相等。

江苏c语言期末考试题及答案

江苏c语言期末考试题及答案

江苏c语言期末考试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:D2. 下列哪个选项是C语言中的合法整型常量?A. 0x1AB. 0X1AC. 0x1aD. 0X1a答案:A3. 以下哪个选项是C语言中的合法浮点数?A. 3.14B. 3.14eC. 3.14e2D. 3.14e2.5答案:C4. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!'"D. 'Hello, World!'答案:A5. 下列哪个选项是C语言中的合法数组声明?A. int array[10];B. int array[];C. int array[10][];D. int array[10][10];答案:A6. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add();C. int add(int, int);D. int add(int x, int y) {}答案:A7. 下列哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr[];C. int (*ptr)[];D. int *ptr[10];答案:A8. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int id; char name[50]; };B. struct { int id; char name[50]; };C. struct Student { int id; struct Student next; };D. struct { int id; char name[50]; } student;答案:A9. 下列哪个选项是C语言中的合法枚举声明?A. enum Color { Red, Green, Blue };B. enum { Red, Green, Blue };C. enum Color { Red = 1, Green = 2, Blue = 3 };D. enum { Red = 1, Green = 2, Blue = 3 };答案:A10. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI 3.14159C. #define PI 3.14159D. #define PI 3.14159答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对字符串进行连接。

2022年苏州科技大学天平学院公共课《C语言》科目期末试卷A(有答案)

2022年苏州科技大学天平学院公共课《C语言》科目期末试卷A(有答案)

2022年苏州科技大学天平学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。

2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若x和a均是int型变量,则执行表达式(1)后的x值为_______,执行表达式(2)后的x值为_______。

(1)x=(a=4,6*2)(2)x=a=4,6*25、运算符%两侧运算量的数据类型必须都是_______;运算符++和一一的运算量必须是_______。

6、当运行以下程序时,从键盘输入book<回车>book囗<回车>(囗表示空格),则下面程序段的运行结果是_______。

char al[80],a2[80],*sl=al,*s2=a2;gets(s1);gets(s2);if(!strcmp(sl,s2))printf("x");else printf("#");printf("%d",strlen(strcat(sl,s2))}7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。

_______9、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。

union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);10、下面程序段将输出computer。

大一c语言期末考试题及答案

大一c语言期末考试题及答案

大一c语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. intB. floatC. voidD. function答案:A2. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. string str = "Hello";C. str[10] = "Hello";D. char str = "Hello";答案:A3. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string答案:D4. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. -答案:A5. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. len()答案:A7. C语言中,以下哪个关键字用于定义全局变量?A. staticB. externC. autoD. register答案:B8. 在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, 4, 5;D. int array = {1, 2, 3, 4, 5};答案:B9. 在C语言中,以下哪个关键字用于定义指针?A. pointerB. ptrC. *D. ref答案:C10. 在C语言中,以下哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

完整C语言程序设计期末考试试题含答案推荐文档

完整C语言程序设计期末考试试题含答案推荐文档

C 语言程序设计期末考试试题及其答案一、单项选择题(本大题共20 题,每题 2 分,共40分)1、以下不是C 语言的特点的是( )A、 C 语言简洁、紧凑B、能够编制出功能复杂的程序C、 C 语言可以直接对硬件进行操作D、 C 语言移植性好2、以下不正确的C 语言标识符是( )A、ABC B 、abc C、a_bc D、ab.c3、一个C 语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5 个特性,对另外4 个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a 是整型,f 是实型,i 是双精度型,则表达式10+‘a'+i*f 值的数据类型为( )A、intB、float C 、double D、不确定6在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678V。

只>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是()A、a=1,b=2B、b++;C 、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10; printf("%d,%d\n",++i,j--);}A 、11,10B 、9,10C 、11,9D 、10,910、巳知字母 A 的ASCII 码是65,以下程序的执行结果是( ) #include<stdio.h>main() { char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、vB、十C、%D、!=12、设x、y和z是int型变量,且x = 3, y = 4, z= 5,则下面表达式中值为0 是( ) 。

c语言程序期末考试试题及答案

c语言程序期末考试试题及答案

c语言程序期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. staticC. voidD. function答案:C2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 下列哪个选项是正确的C语言注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B5. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. floatD. *答案:D7. 在C语言中,以下哪个选项是正确的数组声明方式?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A8. 在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. if (condition) { }C. if (condition) { } else { }D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. while (condition)C. do { } while (condition);D. All of the above答案:D10. 在C语言中,以下哪个函数用于计算两个数的和?A. printf()B. scanf()C. sum()D. None of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确方式是:`int ____;`答案:变量名2. 要输出一个字符串,应该使用函数:`____`答案:printf3. 要读取一个字符,应该使用函数:`____`答案:scanf4. 在C语言中,数组的索引从____开始。

苏州科技学院 程序设计及C语言试卷A

苏州科技学院 程序设计及C语言试卷A
t=a ; a=b ; b=1 ;
(*a)++ ; (*b)+=2 ;
}
main()
{int a=1 ,b=10 ;
fun(&a,&b) ;
printf(“%d,%d\n”,a,b) ;
}
8.
#include<stdio.h>
void fun( int *p)
{int *a , i=0 ;
for(a=p ;a<p+4 ;a& i ;
for(i=0;i<2;i++) w[i]=w[i+2]-32 ;
w[i]=w[i]-30 ; w[i+1]=w[i+1]-30 ;
for(i=0;i<5;i++) printf("%c",w[i]) ;
}
┉┉┉┉┉┉┉┉┉┉┉密┉┉┉┉┉┉┉┉┉┉封┉┉┉┉┉┉┉┉┉┉线┉┉┉┉┉┉┉┉┉┉
┉┉┉┉┉┉┉┉┉┉┉密┉┉┉┉┉┉┉┉┉┉封┉┉┉┉┉┉┉┉┉┉线┉┉┉┉┉┉┉┉┉┉
3.输入任意10个实数,编成按从小到大的顺序输出该10个数。
4.键盘接收一串字符串,统计并输出该字符串中包含的大写英文字母的总个数。要求用函数调用的方式完成编程,其中自定义函数count()实现字符串中包含的大写英文字母的总个数并返回该值;主函数完成其余功能。
5.表达式strlen(“hello””)的值是。
A、4 B、5 C、6 D、7
6.若有语句int a[9];则下述对a的描述正确的是_________。
A)定义了一个名称为a的一维整型数组,共有9个元素
B)定义了一个数组a,数组a共有10个元素

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语言程序设计期末考试试题含答案一、选择题(每题 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语言期末考试题及答案及解析

c语言期末考试题及答案及解析1. 请写出C语言中声明一个整型变量的语句。

答案:int a;解析:在C语言中,使用关键字`int`来声明一个整型变量,`a`是变量的名称。

2. 如何在C语言中使用循环结构打印出1到10的数字?答案:```c#include <stdio.h>int main() {for(int i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}```解析:这里使用了`for`循环结构,初始化变量`i`为1,循环条件是`i`小于等于10,每次循环结束后`i`自增1,循环体中使用`printf`函数打印当前的`i`值。

3. 请解释C语言中的指针是什么?答案:指针是一种变量,它存储了另一个变量的内存地址。

解析:指针在C语言中用于直接访问内存地址,它允许程序直接操作内存,这在某些情况下可以提高程序的效率。

4. 写出一个C语言函数,该函数接受一个字符串作为参数,并返回该字符串的长度。

答案:```cint stringLength(char *str) {int length = 0;while(*str) {length++;str++;}return length;}```解析:这个函数通过遍历字符串,直到遇到字符串结束符`\0`,每遍历一个字符,长度计数器`length`就增加1,最后返回字符串的长度。

5. 在C语言中,如何交换两个变量的值?答案:```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```解析:通过使用指针参数,我们可以在函数内部交换两个变量的值。

首先将第一个变量的值存储在临时变量`temp`中,然后将第二个变量的值赋给第一个变量,最后将`temp`中的值赋给第二个变量。

6. 请解释C语言中的结构体是什么?答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案1. 题目:编写一个C语言程序,实现一个简单的学生成绩管理系统,要求能够添加学生信息、查询学生信息、修改学生信息和删除学生信息。

答案:```c#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct {int id;char name[50];float score;} Student;Student students[100];int studentCount = 0;void addStudent(int id, char* name, float score) {if (studentCount < 100) {students[studentCount].id = id;strcpy(students[studentCount].name, name);students[studentCount].score = score;studentCount++;} else {printf("学生信息已满。

\n");}}void queryStudent(int id) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {printf("学生ID:%d, 姓名:%s, 成绩:%.2f\n", students[i].id, students[i].name, students[i].score);return;}}printf("未找到该学生信息。

\n");}void modifyStudent(int id, char* name, float score) {for (int i = 0; i < studentCount; i++) {if (students[i].id == id) {strcpy(students[i].name, name);students[i].score = score;printf("学生信息已更新。

苏州科技学院c语言期末考试笔试试卷

苏州科技学院c语言期末考试笔试试卷
4
*x=_______; } 5. 设一个 C 程序中的如下定义: static char line[]="china"; char * ptr=line; 则 ptr 中 为 __________ 的 地 址 , line[1] 中 为 _______ , line[5] 中 为 _________。 6. 以下程序的输出结果是__________。 main() { int arr[ ]={30,25,20,15,10,5}, *p=arr; p++; printf(“%d\n”,*(p+3)); } 7. 下面程序的输出是__________. unsigned fun(unsigned num) {unsigned k=1; do { k*=num%10; num/=10; }while(num); return(k);} main() {unsigned n=35; printf(“%d\n”,fun(n)); } 8. 请读程序: #include <stdio.h> main() {static char b[]=“Goodbye”; char *chp=&b[7]; while(--chp!=&b[0])putchar(*chp); putchar('\n'); } 上面程序的输出结果是__________ 9. 下列程序的输出结果是__________。 int t(int x,int y,int cp,int dp) { cp=x*x+y*y; dp=x*x-y*y; } main( ) { int a=4,b=3,c=5,d=6; t(a,b,c,d); printf("%d %d \n",c,d); }

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

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

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

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

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

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

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

C语言程序设计期末考试卷及答案.doc

C语言程序设计期末考试卷及答案.doc

..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,以下不正确...的输入形式是( )。

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

苏州科技学院c语言期末考试笔试试卷A(考试时间:120分钟,满分100分)使用专业电子,电科,计算机02级各班系:电子专业:班级:学号:姓名:一、单项选择题((1)-(20)题每题1分)对下面各题,从给出的A,B,C,D,四个可选答案中,选一个正确的答案。

1.当a的值为5,b的值为4时,逻辑表达式a<=6&&a+b>8的值为___C____。

A.trueB.falseC.非0整型值D.整型值02.外部变量对程序中的任一函数而言,它们是_____B____。

A.存在的B.可直接存取的C.不可见的(局部和静态)D.不可直接存取的3.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是____B_____。

A.地址传递B.值传递C.实参数传给形参,并由形参传回来给实参D.由用户指定传递方式4.以下说法中正确的是_____C_____。

A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分5..变量的有效范围与其定义位置有关,____B____,其作用域在整个源程序文件中都有效。

A.在第一个函数中定义的变量B.在定义第一个函数之前所定义的变量C.在主函数中定义的变量D.在函数中定义的静态变量6.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是___C___A.c=b=a;B.(a=c) || (b=c);C.(a=c)&&(b=c);D.a=c=b;7.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是_____C_____A.p+1B.a+1C.a++D.++p8.以下程序运行后,输出结果是___A____.main( ){char *s="abcde";s+=2;printf("%s\n",s);}A.cdeB.字符c的ASCII码值C.字符c的地址D.出错9.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为___B___.if(a<b)if(c<d)x=1;else if(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A. 1B. 2C. 3D. 610.当执行以下程序段时___A___.x=-1;do { x=x*x;} while(!x);A.循环体将执行一次B.循环体将执行两次C.循环体将执行无限次D.系统将提示有语法错误11.以下程序执行后sum的值是____C______main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}A.15B.14C.不确定D.012.若变量c为char类型,能正确判断出c为小写字母的表达式是____D_____A.…a‟<=c<= …z‟B.(c>= …a‟)||(c<= …z‟)C.(…a‟<=c)and (…z‟>=c)D.(c>= …a‟)&&(c<= …z‟)13.以下程序的输出结果是_____C_____.fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf(“%d”,a);}A.0B.29C.31D.无定值14.列程序的输出结果是______C_____main(){char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(“%d”,*--p);}A.非法B.a[4]的地址C. 5D.315.下列程序的运行结果是_____B________void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf(“%d %d”, a, b);}A. 6 3B. 3 6C.编译出错D.0 016.下面程序的输出结果是_______C________main(){ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf(“%d\n”,*p+9);}A.0B.1C.10D.917.若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是____C___.int t[3][3],*pt[3],k;for (k=0;k<3;k++) pt[k]=&t[k][0];A.t[2][0]B.t[2][2]C.t[l][2]D.t[2][l]18.当调用函数时,实参是一个数组名,则向函数传送的是___B___.A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值19.以下程序的输出结果是______C______.int d=1;fun(int p){ static int d=5;d+=p;printf("%d ",d);return(d);}main( ){ int a=3;printf("%d \n",fun(a+fun(d)));}A. 6 9 9B. 6 6 9C. 6 15 15D. 6 6 1520.以下程序的输出结果是_____C______.#define f(x) x*xmain( ){ int a=6,b=2,c;c=f(a) / f(b);printf("%d \n",c);}A.9B. 6C.36D.18二、填空题(每空2分,共50分)1.register变量存储在____寄存器____;(程序存储区,静态存储区,寄存器,磁盘)如定义时给变量赋初值,则对于静态变量是在____编译____(编辑,编译,连接,运行)时赋初值,对于动态变量是在_____运行______(编辑,编译,连接,运行)时赋初值;如定义时没有赋初值,则对于int类型的静态变量其初值为______0______,对于int类型的动态变量其初值为________不确定________。

2.请读程序:f(int b[],int n){int i,r;r=1;for(i=0;i<n;i++)r=r*b[i];return (r);}main(){int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf(“%d\n”,x);}上面程序输出结果是_____24 (2*3*4)_____3..请读程序:#include <string.h>#include <stdio.h>char *fun(char *s){char a[10];strcpy(a,"STRING")s=a;return s;main(){char *p="ok";fun(p);printf("%s\n",p);}上面程序的输出结果是_____ ok _____4.以下函数的功能是:把两个整数指针所指的存储单元中的内容进行交换。

请填空。

exchange(int *x,int *y){int t;t=*y;*y=___*x____;*x=___t____;}5.设一个C程序中的如下定义:static char line[]="china";char * ptr=line;则ptr中为_____line[0]_____的地址,line[1]中为___h____,line[5]中为_____\0___。

6.以下程序的输出结果是_____10_____。

main(){ int arr[ ]={30,25,20,15,10,5}, *p=arr;p++;printf(“%d\n”,*(p+3));}7.下面程序的输出是_____15_____.unsigned fun(unsigned num){unsigned k=1;do {k*=num%10;num/=10;}while(num);return(k);}main(){unsigned n=35;printf(“%d\n”,fun(n));}8.请读程序:#include <stdio.h>main(){static char b[]=“Goodbye”;char *chp=&b[7];while(--chp!=&b[0])putchar(*chp);putchar('\n');}上面程序的输出结果是___eybdoo_______9.下列程序的输出结果是______5 6____。

int t(int x,int y,int cp,int dp){ cp=x*x+y*y;dp=x*x-y*y;}main( ){ int a=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d %d \n",c,d);}10.下面程序的输出是____AB____。

main( ){int i=3,j=2char *a="DCBA";printf("%c%c\n",a[i],a[j]);}11.以下程序的输出结果第一行是___6_____,第二行是___12____。

#include <stdio.h>int fun(int x,int y){static int m=0,i=2;i=m+1;m=i+x+y;return m;}main(){int j=4,m=1,k;k=fun(j,m);printf("%d\n",k);k=fun(j,m);printf("%d\n",k);}12.以下fun函数的功能是:累加数组元素的值。

n为数组中元素的个数。

累加的和值放入x所指的存储单元中。

请填空。

fun(int b [ ],int n,int *x){int k,r=0;for(k=0;k<n;k++)r=___r+b[k]___;___*x___=r;}13..以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

请填空。

main( ){ float x[1000],sum=0.0,ave,a;int n=0,i;printf("Enter mark:\n");scanf("%f",&a);while(a>=0.0&& n<1000){ sum+___=a_________;x[n]=_______a________;n++;scanf("%f",&a);}ave=______sum/n________;printf("Output:\n");printf("ave=%f\n",ave);for( i=0;i< n;i++ ) if(__x[i]<ave_____) printf("%f \n",x[i]);}三、编程题1.计算1!+2!+3!+ …… +20!。

相关文档
最新文档