C语言程序设计A课程考

合集下载

C语言程序设计试题A

C语言程序设计试题A

四川职业技术学院2005—2006学年第 1 学期期末考试《C 语言程序设计》 (A )(供04电气、04机电班使用)考试时间:120分钟 满分:100分 命题人:陈 科…………………………………………………………………………………………一、单项选择题,答案不写入答题栏的一律不得分!(每题1.5分,共52.5分)1、结构化程序设计的3种结构是 。

A)顺序结构、选择结构、转移结构 B )分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构 D )顺序结构、选择结构、循环结构2、以下叙述中正确的是 。

A )C 语言比其他语言高级B)C 语言可以不用编译就能被计算机识别执行C )C 语言以接近英语国家的自然语言和数学语言作为语言的表达 形式D )C 语言出现的最晚,具有其他语言的一切优点 3、C 语言中最简单的数据类型包括 。

A )整型、实型、逻辑型B )整型、实型、字符型C )整型、字符型、逻辑型D )字符型、实型、逻辑型 4、若变量已正确定义并赋值,以下符合C 语言语法的表达式是 。

A)a:=b+1 B )a=b=c+2 C )int 18.5%3 D)a=a+7=c+b5、若变量a ,i 已正确定义,且i 已正确赋值,合法的语句是 。

A )a= =1B )++i ;C )a=a++=5;D )a=int (i ); 6、已知: int t=0;while(t=1){。

.}则以下叙述正确的是 。

A )循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对7、若变量已正确说明为float 型,要通过语句scanf ("%f %f%f ",&a ,&b ,&c );给a 赋予10.0,b 赋予22.0,c 赋予33.0,下列不正确的输入形式是 .A)10〈回车〉22<回车〉33<回车> B )10。

0,22.0,33.0〈回车> C )10。

c语言程序设计试卷及答案(A)

c语言程序设计试卷及答案(A)

A。 p=&a
B。 p=a
C. *p=&a
D. *p=*a
16.以下函数调用语句中,func(a+b,c-d+100);含有的实参个数是( )。
A. 1
B. 2
C。 4
D. 5
17.有以下定义:struct person{char name[9]; int age;}
struct person class[10]={“Johu",17,“Paul”,19,“Mary”,18,“Adam”,16,};
第 7 页,共 7 页
#include <stdio。h>
#define SIZE 10
struct Student_type <—--———————-—-——-———
{ char name[10];

int num;

int age;

char addr[15];
1
}stud[SIZE];
<—-——-——--——-----—
7。 存储字符串“program”的字符数组至少需要____个元素。
8 指针变量可以加减一个整数,例如:_______________;指针变量可以有空值,例
第 3 页,共 7 页
如_____________________________________________________.
9 以下程序从键盘输入 10 个学生的有关数据,然后把它们转存到磁盘文件上去。
{ int c; a+=a; b+=b; c=fun2(a,b);
return c; }
fun2(int a,int b)
第 5 页,共 7 页

2015年电大本科C语言程序设计A试题

2015年电大本科C语言程序设计A试题

2015年电大本科《C语言程序设计A》一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。

A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为(B)类。

A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为(B)。

A. 6 B.7 C. 8 D. 94. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch 语句容易被改写为(D)语句。

A. for B. while C. do D. if5. 在下面的do-while 循环语句中,其循环体语句被执行的次数为(C)。

int i=0; do i++; while(i<10); A. 8 B. 9 C. 10 D. 116. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。

A. strlen()B. strcpy()C. strcat()D. strcmp()7. 若用数组名作为函数调用的实参,传递给形参的是(A)。

A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a 为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大(C)个字节。

A. 4 B. 8 C. 16 D. 329. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为(A)。

A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。

A. gets()B. fgets()C. getc()D. fgetc()11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。

C语言程序设计(A卷)

C语言程序设计(A卷)

第 1 页 共 5 页一、单选题(每小题1分,共30 分)1. 若变量已正确定义,要求完成求6!的计算,不能完成操作的程序段是 。

A )for(i=1;i<=6;i++) {p=1;p*=i;}B )for(i=1,p=1;i<=6;i++) p*=i;C )i=1;p=1;while(i<=6) {p*=i;i++;}D )i=1;p=1;do {p*=i;i++;} while(i<=6);2. 以下程序的输出结果是 。

main(){ int a=2,b=-1,c=2; if(a<b) if(b<0) c++; else c++; else c--; printf("%d",c);}A )1B )4C )2D )3 3. 以下程序的输出结果是 。

main(){int x=0,a=0,b=0; switch(x) {case 0:b++; case 1:a++;break; case 2:a++;b++;}printf("a=%d,b=%d",a,b); }A )a=2,b=1B )a=1,b=1C )a=1,b=0D )a=2,b=2 4. 以下程序的输出结果是 。

main(){ int x=10,y=10,i;for(i=0;x>8;y=++i) printf("%d %d ",x--,y); }A )10 1 9 2B )9 8 7 6C )10 10 9 1D )10 9 9 0 5. 以下程序的输出结果是 。

main(){int s=0,i,x[][3]={1,2,3,4,5,6,7,8}; for(i=0;i<3;i++) s=s+x[i][2-i]; printf("%d",s); }A )6B )15C )36D )0 6.下面程序段执行后,a 的值是______。

C语言程序设计考试A卷答案

C语言程序设计考试A卷答案

C语言程序设计考试A卷答案以下是为大家整理的c语言程序设计考试A卷答案的相关范文,本文关键词为语言,程序设计,考试,答案,领导,审批,签名,广州大学,20,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。

系领导审批并签名A卷广州大学20XX-20XX学年第一学期考试卷课程《c语言程序设计》考试形式(闭卷,考试)物理与电子工程学院系专业学号姓名题号分数评分一50二20XX0三210310总分100评卷人一、选择题(每题2分,共50分)下列每题A、b、c、D四个选项中,只有一个选项是正确的。

1、以下说法正确的是(b)A)c语言程序总是从第一个函数开始执行b)c语言程序总是从main()函数开始执行c)在c语言程序中,要调用函数必须在main()函数中定义D)c语言程序中的main()函数必须放在程序的开始部分2、若有定义intk=5;,表达式k+=k-=k*=k运算后k的值是(c)A)90b)25c)0D)-153、有输入语句:scanf(“%d,%d,%d”,为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式为(D)(其中,“□”表示空格,表示enter键)A)1□3□2b)a=1,b=3,c=2c)a=1b=3c=2D)1,3,24、以下程序段的输出是(c)printf(“|%8.5f|\\n”,3461.45);A)|61.45000|b)|3461.450|c)|3461.45000|D)|3461.4500|5、在x值处于-2≤x≤2或4≤x≤8时值为“真”否则为“假”的表达式是(D)A)(-2≤x≤2)||(4≤x≤8)b)(x m=++i;n=j++;printf(\}第1页共8页A)108b)89c)99D)987、假设所有变量均为整数,则表达式(a=2,b=5,a++,b++,a+b)的值为(c)A)7b)8c)9D)108、有以下程序,执行后输出结果是(A)#includevoidmain(){inti=1,j=1,k=2;if((j++||k++)}A)2,2,2b)2,2,1c)1,1,2D9、有如下程序,该程序的输出结果是(D)#includevoidmain(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(\\n\);}A)a=2,b=2b)a=1,b=1c)a=1,b=010、下述程序的输出结果是:(c)#includemain(){intk=4,n=0;for(;n if(n%4!=0)continue;k--;}printf(“k=%d,n=%d\\n”,k,n);}A)k=1,n=1b)k=2,n=2c)k=3,n=4D)k=4,n=511、不正确的赋值或赋初值的方式是(b)。

《C语言程序设计A》课程形成性考核作业三参考答案

《C语言程序设计A》课程形成性考核作业三参考答案

元素赋值给x,则不正确的语句为( D )。 A.x=pa[3]; B.x=*(a+3); C.a=a[3]; D.x=*pa+3; 14.假定有定义“int b[10];int *pb;”,则不正确的赋值语句为( C )。 A.pb=b; B.pb=&b[0]; C.pb=b+2; D.pb=b[5]; 15.假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态 内存,应使用语句( D )。 A.delete[p]; B.delete *p; C.delete &p; D.delete []p; 16.假定指针变量p定义为“int *p=calloc(30,sizeof(int));”,要释放p所指 向的动态内存,应使用语句( D )。 A.delete[p]; B.deldete(p); C.free[]p; D.free(p);
1、 选择题 1. 在下面的(C)函数声明语句存在语法错误。 A.AA(int a,int b); B.AA(int ,int) C.AA(int a;int b) D.AA(int a,int) 2.在下面的(C)不能作为函数的返回类型。 A.void B.int C.new D.long 3.下面正确的函数原型语句是(B)。 A.int Function(void a); B.void Function(int); C.int Function(a); D.void int(double a); 4.函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为(B) 个。 A.1 B.2 C.4 D.5 5.下面的标识符中,(C)是文件级作用域。 A.函数形参 B.语句标号 C.外部静态类标识符 D.自动类标 识符 6.下面的标识符中,(B)具有全局级作用域。 A.函数形参 B.全局变量 C.内部静态类标识符 D.自动变量 符 7.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指 数据的地址大( C )字节。 A.1 B.2 C.4 D.8 8.假定a为一个字符数组名,则a[8]的地址比该数组的首地址大( B ) 个字节。 A.4 B.8 C.16 D.32 9.假定a为一个数组名,则下面的( B )表示有错误。 A.a[i] B.*a++ C.*a D.*(a+1) 10.用calloc函数创建具有10个整型元素的一维数组的正确语句是( C )。 A.int *p=calloc(10,2); B.int *p=callo(10; C.int *p=calloc(10,4); D.int *p=malloc(10); 11.假定变量m定义为“int m=7;”,则定义p的正确语句为( B )。 A.int p=&m; B.int *p=&m; C.int &p=*m; D.int *p=m; 12.假定k是一个double类型的变量,则定义指向k的变量p的正确语句 为( B )。 A.double p=&k; B.double *p=&k; C.double &p=*k; D.char *p=”Thank you!”; 13.假定一条定义语句为“int a[10],x,*pa=a;”,若要把数组a中下标为3的

第二学期《C语言程序设计》课程考试试卷(A)及答案

第二学期《C语言程序设计》课程考试试卷(A)及答案

《C语言程序设计(1)》课程考试试卷(A)及答案开课二级学院:信息、机电、计测、质安,考试时间:2008年6月27日18时、开卷□,允许带入场考生姓名:学号:专业:班级:试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输入若干个整数,统计奇数的个数和偶数的个数。

运行示例:5 1 2 3 4 5奇数的个数是:3偶数的个数是:2【程序】#include <stdio.h>void main( ){int n,i,on,jn,x;(1) don=0;(2) cfor (i=0; i<n; i++){scanf("%d", &x);if( (3) c )on++;elsejn++;}printf( (4) c );printf("偶数的个数是:%d\n", on);}【供选择的答案】(1) A、scanf("%d", n); B、scanf(%d, &n);C、scanf(%d, n);D、scanf("%d", &n);(2) A、jn==0; B、jn==1;C、jn=0;D、jn=1;(3) A、x%2 B、x/2C、x%2==0D、x/2==0(4) A、"奇数的个数是:%d", jn B、奇数的个数是:%d\n, jnC、"奇数的个数是:%d\n", jnD、 "奇数的总数是:%d\n", jn试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】连续输入十个整数,找出并返回最大值及其下标。

运行示例:10 9 8 7 6 5 4 3 2 1max=10, imax=0【程序】#include <stdio.h>void main( ){int i, max, imax;(5) b cfor (i=1; i<11; i++){scanf("%d", &a[i]);}max=a[1];(6) d bfor(i=2; i<11; i++){if( (7) d ){(8) cimax=i;}}printf("max=%d, imax=%d\n", max, imax);}【供选择的答案】C、int a[11];D、int a(10);(6) A、; B、imax=1;C、imax=10;D、imax=0;(7) A、 max>a[i] B、 max<a{i}C、 max<(a+i)D、 max<a[i](8) A、a[i]=max; B、;C、max=a[i];D、max==a[i];试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

C语言程序设计试卷-A卷(正式用卷)

C语言程序设计试卷-A卷(正式用卷)

计算机学院2008-2009学年第2学期C语言程序设计考试试卷A卷(或B卷): A卷闭卷(或开卷):闭卷考试时间:2009年 6 月 23日专业班级学号学生姓名一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。

本大题共10小题,每小题1分,共10分。

)1、ENUM是【 A 】A、合法标识符B、C语言的关键字C、合法的字符串D、既不是C语言的关键字,也不是合法的字符串或标识符2、下列数据中属于合法字符常量的是【 A 】DA、'\'B、'\xag'C、'45'D、'\''3、下列数据中合法的浮点型常量是【 C 】A、E+10B、2E+1.5C、2E-10D、0x2.5E104、下列数据中与256等值的数为【 A 】BA、0256B、0400C、0x400D、0x2565、以下叙述中正确的是【 B 】A6、局部变量说明为static存储类型,其生存期将得到延长B、全局变量说明为static存储类型,其作用域将被扩大C、任何存储类型的变量在未赋初值时,其值都是不确定的D、形参可以使用的存储类型说明符与局部变量完全相同6、 -127的16位补码的十六进制表示是【 A 】A、0xff81B、0x807fC、0xff80D、0x80807、对于下面的数组声明,正确的是【 D 】BA、int x[][5];B、char t[ ]={…a‟,‟b‟,‟c‟,‟\0‟};C、int n=5,a[n];D、char s[5]=“abcde”;8、若有以下的说明和语句,则在执行for语句后,*(*pt+2)表示的数组元素是【 D 】int t[3][3],(*pt)[3],k;for (k=0;k<3;k++) pt = t+k;A、t[1][2]B、t[2][0]C、t[2][1]D、t[2][2]9、已知枚举类型定义: enum a {ONE=5,TWO=3,THREE}; 则THREE的值的是【B 】CA、1B、2C、4D、010、设有以下说明和语句,则表达式z.y.a2的值的是【 D 】Cstruct packed {unsigned short a1 : 2;unsigned short a2 : 2;unsigned short a3 : 4;unsigned short a4 : 8;};short x;struct packed y; } z;z.x=0xabab;A 、11B 、3C 、2D 、10二、 多项选择题(下面每小题的A 、B 、C 、D 备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内,多选、少选、错选均不得分。

C语言程序设计(A卷)

C语言程序设计(A卷)

**学院2019—2020学年度第一学期期末考核试卷课程名称: C 语言程序设计 考核类型: 考查 考核形式: 闭卷学生所在院系: 班 级: 试 卷: A1.未指定存储类别的变量,其隐含的存储类别为( )。

A. autoB. staticC. externD. register 2. 以下选项中不合法的变量名称是( )。

A .abB .fileC .mainD .printf 3. 下面合法的C 语言字符常量是( )。

A. '\t'B. "A"C. 65D. A 4. 字符(char)型数据在微机内存中的存储形式是( )。

A . 反码B . 补码C . EBCDIC 码D . ASCII 码 5. 下列字符数组初始化语句中,不正确的是( )。

A .char c[]='goodmorning';B .char e[20]="goodmorning":C .char c[]={'a','b','c','d'};D .char c[]={"ffgoodmorning"}; 6. 表达式: 10!=9的值是 ( )。

A. trueB. 非零值C. 0D. 1 7. 在下列选项中,不正确的赋值语句是 ( )。

A. ++t;B. n1=(n2=(n3=0));C. k=i=j;D. a=b+c=1; 8. 为表示关系x ≥y ≥z,应使用C 语言表达式( )。

A. (x>=y)&&(y>=z) B. (x>=y)AND(y>=z) C. (x>=y>=z) D. (x>=y) & (y>=z)一、选择题………………………………(每小题2分,共30分)9.下面程序的输出的是()。

#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A. 0B. 1C. 3D. 不确定的值10.执行下面程序中的输出语句后,输出结果是()。

样卷A《C语言程序设计》

样卷A《C语言程序设计》

C语言程序设计样卷A一、单选题(每小题2分,共40分)1.下面程序的输出是(B)。

main( ){ int x = 023;printf( "%d\n",--x);}A.17B.18C.23D.242.在C语言中,设int型变量占2个字节,则不正确的int类型常数是(A)。

A.62768B.12C.037D.0xa3.当a=1,b=2,c=3时,执行以下语句后a,b,c的值分别是(D )。

if(a>c)b=a;a=c;c=b;A.3,2,1B.1,2,3C.3,1,1D.3,2,24.以下叙述中正确的是(B)。

A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套5.以下叙述中不正确的是(B)。

A.在函数中,通过return语句获得返回值B.在函数中,如果没有return语句则不带回返回值C.在函数中,可以有多条return语句D.在C中,调用函数不必在一条独立的语句中完成6.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(C)。

A.p+1B.a+1C.a++D.++p7.下面程序的输出是( A )。

main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A.3B.4C.1D.28.执行下面程序中的输出语句后,a的值是(C)。

main( ){ int a;printf("%d\n",(a=3*5,a*4,a+5));}A.65B.20C.15D.109.下面程序的输出是(C)。

main ( ){ int a = - 1, b = 4, k;k = (a++ <=0)&&(! (b-- <= 0));printf("%d %d %d \n",k,a,b);}A.0 0 3B.0 1 2C.1 0 3D.1 1 210.以下程序的输出结果是(A)。

c语言程序设计a试题及答案

c语言程序设计a试题及答案

c语言程序设计a试题及答案一、选择题(每题2分,共10分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于计算两个数的和?A. %B. +C. ==D. &&答案:B3. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable$2D. variable_2答案:D4. C语言中,用于定义一个函数的关键字是?A. functionB. defineC. defD. int答案:D5. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. char str[] = "Hello", "World";答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是________。

答案:int2. 如果希望在C语言中定义一个全局变量,应该将其定义在________区域。

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

答案:float4. 在C语言中,________关键字用于定义一个数组。

答案:array5. 如果希望在C语言中定义一个字符型变量,应该使用关键字________。

答案:char三、简答题(每题5分,共20分)1. 请简述C语言中指针的概念。

答案:指针是C语言中一个特殊的变量,它存储的是另一个变量的内存地址。

2. 解释C语言中数组和指针的关系。

C语言程序设计A卷(答案)

C语言程序设计A卷(答案)

贵州大学2010-2011学年第二学期考试试卷A(答案)C语言程序设计注意事项:1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。

2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。

3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。

4.满分100分,考试时间为120分钟。

一.单项选择题(本大题共20小题,每小题1分,共20分)1.以下描述中不属于C语言特点的是(B )。

A.预算符丰富B.不允许直接访问物理地址C.语法限制不太严格D.是完全模块化和结构化语言2.在C语言中,回车符是(A )。

A.\n B.\t C.\f D.\b3.下列类型不属于基本类型的是(B )。

A.整形B.指针类型C.浮点型D.空类型4.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C )。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任意字符5.下列数据中,不合法的C语言实型数据的是(C )。

A.0.123 B.123e3 C.2.1e3.5 D.789.0 6.下列二进制数据中,-10的补码是( D )。

A.1111111111111001 B.1111111111111100 C.1111111111111010 D.11111111111101107.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B )。

A.a:=b+1 B.a=b=c+2 C.int 18.5 D.a=c+7=c + b 8.以下说法不正确的是(B )。

A.实参可以是常量、变量、表达式B.形参可以是常量、变量、表达式C.实参可以为任意类型D.形参应与对应的实参一致9.下面的运算符中,优先级最高的运算符是( C )。

A.<= B.= C.% D.&&10.初始化i=2,表达式(++i)*3+(i++)的值等于(B )A.11 B.12 C.13 D.1411.以下对二维数组a的正确说明是(C )。

C语言程序设计_A卷

C语言程序设计_A卷

第 4 页 共8 页
线


4、以下程序功能是:通过定义学生结构体变量,存储了学生的学号、姓名和 3 门课的成绩。函数 fun 的功能是将形参 a 所指的结构体变量中的数据赋给函数 中的结构体变量 b,并修改 b 中的学号和姓名,最后输出修改后的数据。例如: a 所指变量中的学号、姓名、和三门课的成绩依次为:10001、 “ZhangSan” 、 95、80、88,则修改后输出 b 中的数据应为:10002、 “LiSi” 、95、80、88。 #include <stdio.h> #include <string.h> struct student { long sno; char name[10]; float score[3]; }; void fun(struct student *p) { int i; p->sno = 10002; strcpy(p->name, "LiSi"); printf("\nThe data after modified :\n"); printf("\nNo: %ld Name: %s\nScores: ",p->sno, p->name); for (i=0; i<3; i++) printf("%6.2f ", (9) ); printf("\n"); } void main() { struct student s={10001,"ZhangSan", 95, 80, 88};…. int i; printf("\n\nThe original data :\n"); printf("\nNo: %ld Name: %s\nScores: ",s.sno, ); for (i=0; i<3; i++) printf("%6.2f ", (10 ) ); printf("\n"); ( 11) ; }

C语言程序设计A卷

C语言程序设计A卷

C语言程序设计A卷C语言是一种通用的高级程序设计语言,被广泛应用于计算机科学和软件工程领域。

掌握C语言程序设计的基础知识和技巧对于成为一名优秀的程序员至关重要。

本文将从语言基础、数据类型、控制流、函数等方面进行论述,帮助读者理解C语言程序设计的要点。

一、语言基础在开始学习C语言程序设计之前,首先要了解C语言的起源和特点。

C语言是由贝尔实验室的Dennis Ritchie于1972年开发的。

它被设计为一种系统编程语言,具有高效、灵活和底层控制能力的特点。

C语言使用了一系列的关键字和语法规则,能够方便地表达计算机指令。

二、数据类型C语言中的数据类型是程序设计的基础,决定了对变量和表达式进行操作的规则。

常见的数据类型包括整数、浮点数、字符和字符串等。

整数类型可以分为有符号整数和无符号整数,浮点数类型用于表示实数,字符类型用于表示单个字符,而字符串类型则由多个字符组成。

三、控制流控制流是程序中决定执行顺序的语句组合,C语言提供了多种控制流结构来实现不同的逻辑判断和循环。

条件语句(if-else语句)可以根据条件的真假选择执行不同的代码块,循环语句(for、while和do-while语句)可以重复执行一段代码。

此外,C语言还支持跳转语句(break、continue和goto语句),允许程序在特定条件下改变执行流程。

四、函数函数是C语言程序设计中的一个重要概念,用于封装可重用的代码块。

通过函数,可以将程序划分为多个独立的部分,提高代码的可读性和可维护性。

C语言提供了函数的声明和定义方式,允许函数传递参数和返回值。

在函数设计中,应注重函数的单一职责原则,遵循模块化的设计思想。

五、数组和指针数组和指针是C语言中的重要数据结构和特性。

数组是由相同类型的元素组成的集合,可以通过下标访问和操作元素。

指针是变量,它存储了一个地址值,可以用于间接访问内存中的数据。

C语言提供了丰富的指针操作符和数组指针的概念,使得程序能够更加高效地处理数据。

国家开放大学C语言程序设计A第一次形考任务及答案

国家开放大学C语言程序设计A第一次形考任务及答案

一、选择题(共40分,每小题2分)题目1在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。

A. mainB. MAINC. nameD. function题目2C语言源程序文件的缺省扩展名为()。

A. cppB. exeC. objD. c题目3由C语言目标文件连接而成的可执行文件的缺省扩展名为()。

A. cppB. exeC. objD. c题目4程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车题目5每个C语言程序文件的编译错误被分为()。

A. 1类B. 2类C. 3类D. 4类题目6不符合C语言规定的复合语句是()。

A. {}B. {;}C. {x=0;}D. {y=10}题目7C语言程序中的基本功能模块为()。

A. 表达式B. 标识符C. 语句D. 函数题目8在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。

A. 表达式B. 语句C. 参数表D. 函数体题目9在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。

A. 尖括号B. 双引号C. 单引号D. 花括号题目10在C语言程序中,多行注释语句使用的开始标记符为()。

A. //B. /*C. */D. **题目11在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。

A. charB. intC. floatD. double题目12在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。

A. 5B. 4C. 3D. 6转义字符'\\'表示的字符是()。

A. 单引号B. 双引号C. 反斜线D. 问号题目14枚举类型中的每个枚举常量的值都是一个()。

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

中央广播电视大学
C语言程序设计A课程试卷(1)
2010年7
一、单选题(每小题2分,共20分)
1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。

A. main
B. MAIN
C. name
D. function
2.每个C语言程序文件的编译错误分为()类。

A. 1
B. 2
C. 3
D. 4
3. 字符串"a+b=12\n"的长度为()。

A. 6
B. 7
C. 8
D. 9
4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。

A. for
B. while
C. do
D. if
5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。

int i=0; do i++; while(i<10);
A. 8
B. 9
C. 10
D. 11
6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为()。

A. strlen()
B. strcpy()
C. strcat()
D. strcmp()
7. 若用数组名作为函数调用的实参,传递给形参的是()。

A. 数组的首地址
B. 数组中第一个元素的值
C. 数组中全部元素的值
D. 数组元素的个数
8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。

A. 4
B. 8
C. 16
D. 32
9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。

A. char *p=s;
B. char *p=&s;
C. char *p;p=*s;
D. char *p; p=&s;
10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。

A. gets()
B. fgets()
C. getc()
D. fgetc()
二、填空题(每小题2分,共26分)
1.执行“printf("%c",'A'+2);”语句后得到的输出结果为________。

2.short int类型的长度为________。

3. 用类型关键字表示十进制常数3.26f的类型为________。

4. 假定y=10,则表达式++y*3的值为________。

5. 逻辑表达式(x==0 && y>5)的相反表达式为________。

6.若x=5,y=10,则x!=y的逻辑值为________。

7. 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为________。

8. 使用“typedef char BB[10][50];”语句定义________为含有10行50列的二维字符数组类型。

9. 字符串"a:\\xxk\\file.txt"的长度为________。

10.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为________。

11. 假定一个数据对象为int*类型,则指向该对象的指针类型为_______。

12.假定一个结构类型的定义为“struct A{int a,b; A* c;};”,则该类型的理论长度为________。

13. 假定要访问一个结构对象x中的数据成员a,则表示方式为____________。

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1. #include<stdio.h>
void main() {
int i,j,k=0;
for(i=0; i<5; i++)
for(j=i; j<5; j++) k++;;
printf("%d\n",k);
}
2. #include<stdio.h>
void main() {
int x=20;
int i=2;
while(i<x) {
if(x%i==0) {printf("%d ",i); x/=i;} i++;
}
}
3. #include<stdio.h>
void main() {
int a[8]={70,63,54,95,40,75,90,66};
int i, s=0;
for(i=0; i<8; i++)
if(a[i]>=70 && a[i]<=90) s+=a[i];
printf("s=%d\n",s);
}
4. #include<stdio.h>
int WF(int x, int y) {
x=x+y;
y+=x;
return x+y;
}
void main() {
int x=3, y=5;
printf("%d\n",WF(x,y));
}
5. #include<stdio.h>
int LA(int *a, int n) {
int i,s=0;
for(i=0;i<n;i++) s+=a[i];
return s;
}
void main() {
int a[5]={1,2,3,4,5};
int b=LA(a,5)+LA(a+1,3);
printf("b=%d\n",b);
}
四、写出下列每个函数的功能(每小题6分,共12分)
1. int SG(int x) { //x为大于等于2的整数
int i=2;
if(x==2 || x==3) return 1;
while(i*i<=x) {
if(x%i==0) break;
i++;
}
if(i*i<=x)return 0; else return 1;
}
函数功能:
2. int FindMax(struct IntNode *f) //f为一个单链表的表头指针
{
int x;
if(!f) {printf("单链表为空\n"),exit(1);}
x=f->data;
f=f->next;
while(f) {
if(f->data>x) x=f->data;
f=f->next;
}
return x;
}
假定struct IntNode的结点类型定义为:
struct IntNode { int data; struct IntNode* next;};
函数功能:
五、按照题目要求编写程序或函数(每小题6分,共12分)
1. 编写一个主函数,计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。

2. 根据函数原型“int FF(int a[], int n)”,编写函数定义,计算并返回数组a[n]中所有元素之和。

中央广播电视大学
C语言程序设计A课程试卷答案及评分标准(1)
(供参考)
一、单选题(每小题2分,共20分)
1. A
2. B
3. B
4. D
5. C
6. C
7. A
8. C
9. A 10. B
二、填空题(每小题2分,共26分)
1. C
2. 2
3. float
4. 33
5. (x!=0 || y<=5) 或:(x || y<=5)
6. 1(真,true)
7. 60 8. BB 9. 15 10. 46
11. int** 12. 12 13. x.a
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
评分标准:根据答案正确程度酌情给分。

1. 15
2. 2 5
3. s=235
4. 21
5. b=24
四、写出下列每个函数的功能(每小题6分,共12分)
评分标准:根据答案叙述的正确与完整程度酌情给分。

1. 判断x是否为一个素数,若是则返回1,否则返回0。

2. 求出并返回由f所指向的单链表中所有结点的最大值。

五、按照题目要求编写程序或函数(每小题6分,共12分)
评分标准:按程序或函数编写的正确与完整程度酌情给分。

1.
#include<stdio.h>
void main()
{
int i;
int p=1; //1分
int s=1; //2分
for(i=1;i<=10;i++) {p*=3; s+=p;} //5分
printf("%d\n",s); //6分
}
2. int FF(int a[], int n)
{
int i,sum=0; //1分
for(i=0; i<n; i++) sum+=a[i]; //4分
return sum; //6分
}。

相关文档
最新文档