南京信息工程大学滨江学院C语言期末试卷(A)

合集下载

南京信息工程大学试卷2011-2012学年第二学期C语言程序设计试卷(理科)及答案-A

南京信息工程大学试卷2011-2012学年第二学期C语言程序设计试卷(理科)及答案-A

南京信息工程大学试卷(理工科)2011 - 2012 学年第 2学期C语言程序设计课程试卷( A 卷) 本试卷共 8 页;考试时间 120分钟;任课教师课程组;出卷时间 2012 年 6月学院专业2011 年级班学号姓名得分一、单项选择题 (每小题 1分,共 15分)1.C语言规定:在一个源程序中,main的位置A)必须在最开始 B)必须在系统调用的库函数后面C)可以任意 D)必须在最后2.下面四个选项中,均是合法的用户标识符的选项的是A) A p_o do B)float lao _AC) b-a goto int D) _123 temp INT3.判断字符型变量c1是否为大写字母的正确表达式为A)’A’<=c1<=’Z’ B)(c1>=A)&&(c1<=Z)C)(‘A’>=c1)||(‘Z’<=c1) D)(c1>=’A’)&&(c1<=’Z’)4.表达式18.0/4*sqrt(4)/8值的数据类型为A)float B)charC)double D)不确定5.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是A)7 B)8 C)6 D)26.若对两个数组a和b进行初始化char a[]="ABCDEF";char b[]={'A', 'B', 'C', 'D', 'E', 'F'};则下列叙述正确的是。

A) a与b数组完全相同B) a与b数组长度相同C) a与b数组都存放字符串 D) 数组a比数组b长度长7.若定义x为长整型变量,则能正确输入x值的语句是。

A)scanf(“%d”,x); B)scanf(“%d”,&x);C)scanf(“%ld”,&x); D)scanf(“%ld”, x);8.以下正确的函数定义是。

2022年南京信息工程大学公共课《C语言》科目期末试卷A(有答案)

2022年南京信息工程大学公共课《C语言》科目期末试卷A(有答案)

2022年南京信息工程大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。

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

3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。

5、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。

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、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

char cl,c2;scanf("%4c%4c",&cl,8&c2);9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。

大学《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语言程序设计基础》期末考试A卷及答案

《C语言程序设计基础》期末考试A卷及答案

封 线密《C 语言程序设计基础》课程期末考试试卷 ( A 卷)班级 考试形式 闭卷 考试时间 120 分钟考试学期 2020-2021学年第1学期 考试类型 考试 命题教师 题 号一 二 三 四 总分 分 值 30 20 25 25 100 得 分一、单项选择题(每小题2分,共30分)1.下列不属于C 语言基本数据类型的是( )。

A. intB. unionC. charD. double 2. 在一个C 程序中( )。

A .main 函数必须出现在所有函数之前B .main 函数可以在任何地方出现C .main 函数必须出现在所有函数之后D .main 函数必须出现在固定位置3. 以下不正确的C 语言标识符是 ( )。

A .AB3CB .a_bc C. _abc D .3ab_c4. 设x 、y 和z 是int 型变量,且x =3,y =4,z =5,则下面表达式中值为0是 ( )。

A .x&&y||x-y B. x <=y C. x||y+z&&y<z D. !((x <y)&&!z||1)5. 设有定义:struct a{long int c[4]; float d[3]; char f[16]; }a1;则printf("%d\n",sizeof(a1));的输出是( )。

A .44B .36C .12D .326. 已知一个二维数组int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};获取该数组中第二行第三列元素的语句表达正确的是( )。

A .a[2][3] B. a[2][4] C. a[1][2] D. a[3][2] 7. 设有:int a,*pa,*pb;int b[10] = { 0,1,2,3,4,5,6,7,8,9 };a=3;下列说法中不正确的是( )。

C语言期末考试试题及其答案

C语言期末考试试题及其答案

C语言期末考试试题及其答案------------------------------------------作者------------------------------------------日期、以下不是 语言的特点的是 ☎ ✆✌、 语言简洁、紧凑、 能够编制出功能复杂的程序、 语言可以直接对硬件进行操作、 语言移植性好、以下不正确的 语言标识符是 ☎ ✆✌、 ✌ 、 ♋♌♍ 、 ♋♉♌♍ 、 ♋♌♍、一个 语言程序是由 ☎ ✆✌、 一个主程序和若干子程序组成、 函数组成、 若干过程组成、 若干子程序组成、一个算法应该具有❽确定性❾等 个特性,对另外 个特性的描述中错误的是 ☎ ✆✌、 有零个或多个输入、 有零个或多个输出、 有穷性、 可行性、 设变量♋是整型,♐是实型,♓是双精度型,则表达式 ❻♋❼♓✉♐值的数据类型为 ☎ ✆✌、 ♓⏹♦ 、 ♐●☐♋♦ 、 ♎☐◆♌●♏ 、 不确定、在 语言中,♍♒♋❒型数据在内存中的存储形式是 ☎ ✆✌、 补码 、反码 、源码 、✌✋✋码、有如下程序,输入数据: <♍>后( 表示回车),⌧的值是 ☎ ✆ 。

✁♓⏹♍●◆♎♏♦♦♎♓☐♒❍♋♓⏹☎✆♓⏹♦ ⌧♐●☐♋♦ ⍓♦♍♋⏹♐☎✂♎♐✂⌧⍓✆❝✌、  、  、  、 、若有以下定义♓⏹♦ ♋♌ ♐●☐♋♦ ⌧,则正确的赋值语句是 ☎ ✆✌、 ♋♌、 ♌、 ♋♌、 ♌♓⏹♦☎⌧✆、以下程序的执行结果是 ☎ ✆✁♓⏹♍●◆♎♏♦♦♎♓☐♒♓⏹♦ ♓☐❒♓⏹♦♐☎✂♎♎⏹✂♓✆❝✌、  、  、  、 、巳知字母✌的✌✋✋码是 ,以下程序的执行结果是 ☎ ✆✁♓⏹♍●◆♎♏♦♦♎♓☐♒❍♋♓⏹☎✆☐❒♓⏹♦♐☎✂♎♎⏹✂♍♍✆✌、 ✌✡ 、  、  、 、下列运算符中优先级最高的是 ☎ ✆✌、 < 、 十 、  、 ✐=、设⌧、⍓和 是♓⏹♦型变量,且⌧= ,⍓= , = ,则下面表达式中值为 是 ☎ ✆ 。

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

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程序,实现冒泡排序算法。

南京信息工程大学2010-2011(1)C语言和程序设计基础试卷-A

南京信息工程大学2010-2011(1)C语言和程序设计基础试卷-A

D)其之前最近的且尚未配对的 if 配对 x;则下面没有错误的是 。 B) switch((int)x%2.0) { case 0:a++;break; case 1:b++;break; default:a++;b++; } D) switch((int)(x)%2) { case 0.0:a++;break; case 1.0:b++;break; default:a++;b++; }
第 3 页 /共 9 页
printf("x=%d,y=%d\n",x,y); } 2.下面程序运行的结果是 。 #include<stdio.h> int main() { int n[2],i,j; for(i=0;i<2;i++) n[i]=0; for(i=0;i<2;i++) for(j=0;j<2;j++) n[j]=n[i]+1; printf("%d\n",n[1]); return 0; } 3.下面程序运行的结果是 #include<stdio.h> int f(int); int main() { int z; z=f(5); printf("%d\n",z); return 0; } int f(int x) { if(x==0||x==1) return 1; else return x*f(x-1); } 4.以下程序执行后输出的第一个数是 #include <stdio.h> void increment (void); int main(void) { increment ( ); increment ( ); increment ( ); return 0; } void increment (void) { static int x=1;

南京信息工程大学2009-2010(1)C语言期末考试试卷A(后附答案)

南京信息工程大学2009-2010(1)C语言期末考试试卷A(后附答案)

南京信息工程大学试卷2009 - 2010 学年第 1学期程序设计基础/C语言程序设计课程试卷( A 卷) 本试卷共 9 页;考试时间 120分钟;任课教师;出卷时间 2010 年 1月学院专业2009 年级班学号姓名得分一、单项选择题 (每小题 1分,共 12分)1.一个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.下面四个选项中,均是不合法的用户标识符的选项的是A. A p_o doB. float lao _AC. b-a while intD. _123 temp INT3.表达式18/4*sqrt(4.0)/8值的数据类型为A.floatB. charC.doubleD.不确定4.设有如下定义struct ss{ char name[10];int age;char sex;}std[3],*p=std;下面各输入语句中错误的是。

A.scanf("%d",&(*p).age); B.scanf("%s",&);C.scanf("%c",&std[0].sex); D.scanf("%c",&(p->sex));5.有如下定义:int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4];下面表示正确的是A.p=a[0]; B.p=*a;C.p=&a[0][0]; D.p=a;6.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。

A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B.(x>=1) | | (x<=10) | | (x>=200) | | (x<=210)C.(x>=1) && (x<=10) | | (x>=200) && (x<=210)D.(x>=1) | | (x<=10) && (x>=200) | | (x<=210)7.以下程序段的循环次数是。

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

2010 ─ 2011 学年第二学期C语言程序设计课程试卷一、选择题(下列每题中只有一个正确答案,每题1分,共20分)1、C语言程序的基本单位 C 。

(A)程序行(B)语句(C)函数(D)字符2、设有语句“ int a=3; ”,则执行语句“ a+=a-=a*a; ”以后变量a的值是 D 。

(A)3 (B)0 (C)9 (D)-123、合法的C语言字符常量是 A 。

(A)…t‟(B)“A”(C)65 (D)A4、以下程序的输出结果是 D 。

main(){ int a=12,b=12;printf(“%d %d\n”,--a,++b);}(A)10 10 (B)12 12 (C)11 10 (D)11 135、若变量已正确定义,那么以下语句段的输出结果是____C____。

x=0;y=2;z=3;switch(x){ case 0:switch(y==2){ casa 1:printf(“*”);break;case 2:printf(“%”);break;}case 1:switch(z){ case 1:printf(“$”);case 2:printf(“*”);break;default:printf(“#”);}}(A)%$ (B)#* (C)*# (D)**$6、设实型变量为f1、f2、f3、f4的值分别为4,3,2,1;整型变量ml、m2的值为1。

表达式“(ml=fl>f2)&&(m2=f3<f4)”的值是 A 。

(A)0 (B)1 (C)2 (D)出错7、执行下列程序后,i 的值是 C 。

void main(){ int i, x;for(i=1, x=1;i<20; i++){if (x>=10) break;if(x%2= =1){x+=5; continue; }x-=3;}}(A)4 (B) 5 (C)6 (D)78、对以下for循环,叙述正确的是 B 。

for(x=0,y=0;(y!=123)&&(x<4); x++, y++);(A)执行了3次(B)执行了4次(C)是无限循环(D)循环次数不定9、在定义int a[5][4]; 之后,对a的正确引用是 C 。

(A)a[2][4] (B)a[5][0] (C)a[0][0] (D)a[0,0] 10、以下程序段的输出结果是 B 。

char str[ ]=”ab\n\012\\\””; printf(“%d\n”,strlen(str));(A)12 (B)6 (C) 4 (D) 311、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 B (A)地址传递(B)单向值传递(C)由实参传给形参,再由形参传回实参(D)传递方式由用户指定12、C语言中,形参缺省的存储类别是 A(A)auto(自动)(B)static(静态)(C)register(寄存器)(D)extern(外部)13、已知指针P的指向如下图所示,则执行语句“*P++;”后,表达式“*P”的值是 A 。

(A)20 (B)30 (C)21 (D)3114、以下程序的输出结果是 C 。

void sub(int x,int y,int *z){ *z=y-x;}main(){ int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(“%d,%d,%d\n”,a,b,c);}(A)5,2,3 (B)5,-2,-7 (C)-5,-12,-7 (D)-5,-12,-17 15、以下程序段的输出结果是 A 。

char str[ ]=“ABCD”,*p=str;printf(“%d\n”,*(p+4));(A)68 (B)0 (C)字符D地址(D)不确定的值16、C语言中,从计算机的内存中将数据写入文件,称为_ _ C _。

(A)输入(B)修改(C)输出(D)删除17、若以“a+”方式打开一个已存在的文件,则以下叙述正确的是 A 。

(A)文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作(B)文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作(C)文件打开时,原有文件内容不被删除,只可作写操作(D)以上各种说法皆不正确18、已知为year整型变量,不能使表达式“(year%4==0&&year%100!=0)||year%400==0 ”的值为“真”的数据是 A 。

(A)1998 (B)1992 (C)1996 (D)200019、比较两个字符串str1,str2(此处的str1和str2为两个字符数组名)是否相等的正确的表达式为 D 。

(A)if(str1=str2) … (B)if(str1==str2) …(C)if(strcmp(str1,str2)=0) … (D)if(strcmp(str1,str2)==0) …20、若c1,c2为char型变量,则为了使以下语句的输出为:a,b 正确的输入形式是B 。

scanf (“%c,%c”,&c1,&c2);printf (“%c,%c”,c1,c2);(A)a b (B)a,b (C)‟a‟ ‟b‟(D)ab二、填空题(每空1分,共20分)1、若a为int型变量,则表达式“ ((a=4*5,a*2), a+6) ”的值为26 。

2、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时,结束输入,请填空。

main(){ float x ,amax,amin;scanf(“%f”,&x);amax=x;amin=x;while( a>=0 ){ if( amax<x ) amax=x;if( amin>x ) amin=x;scanf(“%f”,&x);}printf(“\n最高分=%f\n最低分=%f\n”,amax,amin);}3、下面程序的功能是将一个字符串按逆序存放,请填空。

#include <stdio.h>#include <string.h>void main( ){ char st[50],m; int i,j; gets(st);for( i=0,j=strlen(st); i< j ; i++, j--){ m=st[i]; st[i]= st[j] ; st[j] =m; }printf(“%s\n”,st);}4. 以下程序的输出结果是9.00double sub (double x ,double y ,double z ){ y-=1.0; z=z+x ; return z ;}void main ( ){ double a=2.5, b=9.0;printf (“%.2f\n ”,sub (b-a ,a ,a ));}5、 当定义一个以下类型的结构体变量时,系统分配给它的内存是 14 字节。

struct student{ char name[10];float height;}6、下面程序的输出结果是 12\nbeijingchina 。

void main(){ static char str[]="beijing";printf("%d\n",strlen(strcpy(str ,"china")));printf("%s",str);}7、下面程序是用来统计文件中字符的个数,其中文件以只读的方式打开,请填空。

#include <stdio.h>void main(){ FIlE *fp;long num=0;if((fp=fopen(“fname”,” r ”))==Null) //文件以只读的方式打开{ printf(“Can‟t open file!\n”); exit(0); }while( !feof(fp) ) //是否到文件末尾{ fgetc( fp ); num++ }printf(“num=%d \n”,num);fclose(fp);}8、设有int a=10,*p =&a; 则 *p+1的值是 11 。

9、数学式子xy ab3 写成C 语言表达式是 3*a*b/(x*y)10、下面程序的功能对3个整数进行从大到小排序,请补充完整。

#include<stdio.h>void main(){float a,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if ( a < b){ t=a;a=b;b=t; }if ( a<c ){ t=a;a=c;c=t; }if (b-c <0){ t=b ;b=c; c=t ; }printf("%5.2f,%5.2f,%5.2f\n",a,b,c);}11、输出100~1000范围内的所有“水仙花数”。

所谓“水仙花数”是一个3位正整数,其各位数字的立方和等于该数本身。

完善下面程序。

#include<stdio.h>void main(){ int i,j,k,n; //i,j,k分别存放三位正整数的从百位到个位上的数 for(n=100;n<1000;n++){ i= n/100 ;j=n/10-i*10;k=n%10;if ( n== i*i*i+j*j*j+k*k*k )printf("%4d",n);}printf("\n");}12、若int a=2,b=4: 则表达式“ a > b ? a : b ”的值为 4 。

13、C语言作为结构化程序设计语言,具有顺序结构、选择结构和循环结构3种基本结构。

三、程序设计(每题10分,共60分)1、有3个整数a、b、c,由键盘输入,输出其中最大的数。

2、通过键盘输入一行字符串,统计其中字母、数字、空格和其它字符的个数。

3、求一个3×3的整型矩阵对角线元素之和。

4、写一个判断素数的函数int prime (int x),其实现如下功能:如果x是素数,则该函数返回1;否则,该函数返回0。

在main函数中实现如下功能:声明一个整型变量n,用于保存键盘输入的一个整数,用n作为实参调用prime函数,根据其返回值,输出是否为素数的信息。

5、写一函数,求一个字符串的长度int length (char *p) ,实现如下功能:返回指针变量p所指向的字符串的长度。

相关文档
最新文档