苏州科技学院c语言期末考试笔试试卷
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语言程序设计期末考试试题及其答案一、单项选择题(本大题共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语言大一期末考试题库及详解答案一、选择题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语言程序设计期末考试试题及答案一、选择题(每题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语言大一期末考试题库及详解答案一、选择题(每题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语言期末考试题及答案一、单项选择题(每题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(有答案)一、填空题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语言期末考试题及答案一、选择题(每题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语言中,用于定义一个整型变量的关键字是________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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!。