电子科技大学网络教育专科C语言在线考试答案
电子科大11春学期《C语言》在线作业2
B. printf(“%c\n”,class[3].name[1]);
C. printf(“%c\n”,class[2].name[1]);
D. printf(“%c\n”,clsaa[2].name[0]);
答案:D
11.若有说明: char *language[ ]={"F0RTRAN","BASIC","PASCAL", "JAVA","C"};则language[2]的值是( )
答案:D
19.若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为( )
A. 7
B. 8
C. 9
D. 10
答案:A
20.变量的指针,其含义是指该变量的 ( )
A. 值
B. 地址
C. 名
D. 一个标志
答案:B
21.以下正确的说法是( ) 如果在一个函数中的复合语句中定义了一个变量,则该变量
A. 由于do~while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B. do~while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C. 在do~while循环体中,一定要有能使while后表达式值 变为零("假")的操作
D. do~while循环中,根据情况可以省略while
D. p=1.0;for(k=n;k>=1;k--) p*=k--;
电子科技大学15春《C语言》在线作业3满分答案
15春《C语言》在线作业3一,单选题1. 以下正确的函数定义形式是( )A. double fun(int x,int y)B. double fun(int x; int y)C. double fun(int x, int y);D. double fun(int x,y);?正确答案:A2. 若有以下说明和语句,则在scanf函数调用语句中对结构体变量成员的不正确引用方式是( ) struct pupil {char name[20];int age; int sex;}pup[5],* p;p= pup;A. scanf ("%s",pup[0].name);B. scanf("%d",&pup[0].age);C. scanf("%d",&(p-> sex));D. scanf("%d" ,&p-> age);?正确答案:D3. 下面程序的输出是( ) typedef union {long x; int y; char z; }MYTYPE; MYTYPE them; main() {printf("% d\n",sizeof(them));}A. 32B. 16C. 8D. 4?正确答案:D4. 下列四组选项中,均不是C语言关键字的选项是( )A. define IF typeB. geto char printfC. include scanf caseD. while go pow?正确答案:A5. enum color{red,green,yellow=5,white,black}定义了一枚举类型。
编译程序为值表中各标识符分配的枚举值依次为( )A. 1、2、3、4、5B. 0、1、5、2、3C. 0、1、5、6、7D. 3、4、5、6、7正确答案:C6. 下面程序的功能是用递归法将一个整数存放到一个字符数组中。
电大c语言期末考试题库及详解答案
电大c语言期末考试题库及详解答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. typedefD. enum答案:A2. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. ^答案:B3. 若有定义int a=5; 则表达式a+=a-=a*=a的值是多少?A. 0B. 5C. 10D. 15答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. 若有定义float x=3.14; 则以下哪个表达式的值是3.14?A. x++B. x--C. ++xD. --x答案:C7. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. includeD. import答案:A8. 若有定义int a=5, b=10; 则以下哪个表达式的值是15?A. a+bB. a-bC. a*bD. a/b答案:A9. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个整型变量的关键字是________。
答案:int2. 在C语言中,用于声明一个字符型变量的关键字是________。
答案:char3. 若有定义int a=10; 则表达式sizeof(a)的值是________。
电大c语言程序设计期末试题及答案
电大c语言程序设计期末试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案:D2. 下列关于数组的描述中,正确的是:A. 数组的大小在声明后可以改变B. 数组的索引从0开始C. 数组是动态分配的D. 数组不能包含不同类型的元素答案:B3. 在C语言中,哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列哪个选项是C语言中的合法整数常量?A. 0x1AB. 1.5e2C. 0101D. 0L答案:A5. C语言中,用于输入输出的库函数是:A. math.hB. stdio.hC. string.hD. time.h答案:B6. 下列哪个是C语言中正确的注释?A. /* This is a comment */B. // This is a commentC. /* This is a comment */D. // This is a comment答案:A7. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A8. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. goto答案:D9. C语言中,用于定义指针的符号是:A. &B. *C. %D. #答案:B10. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。
答案:extern2. 当需要在C语言中定义一个常量时,可以使用关键字________。
答案:const3. C语言中,用于定义一个空指针的值是________。
答案:NULL4. 在C语言中,________运算符用于比较两个值是否相等。
电子科技大学c语言考试题及答案
电子科技大学c语言考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:A2. 在C语言中,以下哪个是正确的字符串声明?A. char str = "Hello";B. string str = "Hello";C. str char = "Hello";D. char str[] = "Hello";答案:D3. 下列哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <=答案:B4. C语言中,哪个函数用于计算数组中元素的个数?A. count()B. length()C. size()D. sizeof()答案:D5. 在C语言中,以下哪个是正确的二维数组声明?A. int array[3, 4];B. int array[3][4];C. int array[3][];D. int array[][];答案:B6. 下列哪个关键字用于循环结构?A. ifB. whileC. switchD. for答案:D7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncpy()D. strncat()答案:A8. 在C语言中,以下哪个是正确的函数声明?A. int add(int a, int b);B. int add(a, b);C. int add(int, int);D. int add();答案:A9. 下列哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C10. 在C语言中,以下哪个是正确的结构体声明?A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. struct Student {int id;string name;};D. struct Student {int id;char name;};答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对变量进行自增操作。
电大C语言试题及答案
电大C语言试题及答案一、第一章单选题1.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为。
答案:AA.main B.MAIN C.name D.function2.C++源程序文件的缺省扩展名为。
答案:AA.cpp B.exe C.obj D.lik 3.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用符号作为分隔符。
答案:DA.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车4.C++程序的基本模块为()。
答案:DA.表达式B.标识符C.语句D.函数5.每个C++程序文件的编译错误分为()类。
答案:B //warning error A.1 B.2 C.3 D.4二、第一章填空题1.C++语言是在_________语言的基础上发展起来的。
答案:C2.C++语言中的每条基本语句以________作为结束符。
答案:;(或分号)3.C++语言中的每条复合语句以________作为结束符。
答案:(或右花括号)4.在C++每个程序行的后面或单独一行的开始使用注释的标记符为__________。
答案://5.单行或多行注释的开始标记符为__________、结束标记符为__________。
答案:/*、*/6.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以__________标识符开始的预处理命令。
#include7.C++程序中的所有预处理命令均以______字符开头。
# 8.在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义的头文件。
用户(或编程者)9.一个函数定义由________和________两部分组成。
答案:函数头、函数体10.用于输出表达式值的标准输出流对象是________,用于从键盘上为变量输入值的标准输入流对象是________。
答案:cout、cin 11.当不需要函数返回任何值时,则应使用________标识符定义函数类型。
电子科技大学19秋《C语言》在线作业2答案
电子科技大学19秋《C语言》在线作业2
试卷总分:100 得分:100
【题目】若有以下程序段:inta[]={4,0,2,3,1},i,j,t;
【题目】for(i=1;i5;i++)
【题目】{t=a[i];j=i-1;
【题目】while(j=0&&ta[j])
【题目】{a[j+1]=a[j];j--;}
【题目】a[j+1]=t;}
【题目】......
【题目】则该程序段的功能是()
[A.]对数组a进行插入排序(升序)
[B.]对数组a进行插入排序(降序)
[C.]对数组a进行选择排序(升序)
[D.]对数组a进行选择排序(降序)
[分析以上题目,并完成作答]
正确答案:B
【题目】凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()
[A.]自动(auto)
[B.]静态(static)
[C.]外部(extern)
[D.]寄存器(register)
[分析以上题目,并完成作答]
正确答案:A
【题目】"文件包含"预处理语句的使用形式中,当#include后面的文件名用"",(双引号)括起时,寻找被包含文件的方式是()
[A.]直接按系统设定的标准方式搜索目录
[B.]先在源程序所在目录搜索,再按系统设定的标准方式搜索
[C.]仅仅搜索源程序所在目录
[D.]仅仅搜索当前目录
[分析以上题目,并完成作答]
正确答案:B
【题目】对下面程序,从整体功能及语法上看,说法正确的是()(每行程序前面的数字表示行号)。
电子科技大学19秋《C语言》在线作业3答案
电子科技大学19秋《C语言》在线作业3
试卷总分:100 得分:100
【题目】下面程序段的运行结果是()
【题目】charc[5]={'a','b','\0','c','\0'};
【题目】printf("%s",c);
[A.]’a’’b’
[B.]ab
[C.]abc
[D.]ab□(其中□表示空格)
[分析以上题目,并完成作答]
正确答案:B
【题目】若有以下程序段:inta[]={4,0,2,3,1},i,j,t;
【题目】for(i=1;i5;i++)
【题目】{t=a[i];j=i-1;
【题目】while(j=0&&ta[j])
【题目】{a[j+1]=a[j];j--;}
【题目】a[j+1]=t;}
【题目】......
【题目】则该程序段的功能是()
[A.]对数组a进行插入排序(升序)
[B.]对数组a进行插入排序(降序)
[C.]对数组a进行选择排序(升序)
[D.]对数组a进行选择排序(降序)
[分析以上题目,并完成作答]
正确答案:B
【题目】设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()
[A.]int
[B.]float
[C.]double
[D.]不确定
[分析以上题目,并完成作答]
正确答案:C。
电子科技大学20春《C语言(专科)》在线作业2.doc
1.有下面的程序段: chara[3],b[]=”student”; a=b; printf(“%s”,a);则()A.运行后将输出student;B.运行后将输出b;C.运行后将输出aD.编译出错【参考答案】: D2.C语言对嵌套if语句的规定是:else总是与()配对。
A.其之前最近的ifB.第一个ifC.缩进位置相同的ifD.其之前最近且不带else的if【参考答案】: D3.有以下程序段typedefstructnode{intdata;structnode*next;}*NODE;NODEp;以下叙述中正确的是()。
A.p是指向structnode结构体变量的指针的指针B.NODEp;语句出错C.p 是指向structnode结构变量的指针D.p是structnode结构变量【参考答案】: C4.有以下程序段: intk=0; while(k=1)k++; while循环执行的次数是()。
A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次【参考答案】: A5.若有定义:inta[5][6];则下面关于数组a的叙述中正确的是()。
A.该数组共有20个元素B.a[0][6]是该数组的一个元素C.a[0][0]是该数组的一个元素D.a[5][6]是该数组的一个元素【参考答案】: C6.若有说明int(*p)[3];则以下正确的描述()A.p是一个指针数组B.p是一个指针,它只能指向一个包含3个int类型元素的数组C.p是一个指针,它可以指向一个一维数组中的任意元素 D.(*p)[3]与*p[3]等价【参考答案】: B7.已知intb;则对指针变量正确的说明和初始化是A.int*p=b;B.intp=b;C.intp=D.int*p=&b【参考答案】: D8.在C语言中,下面那一个不是正确的概念()A.所有循环语句都要求至少要执行一次循环体B.goto和if语句能构成循环语句C.循环过程只能包含,不能交叉D.循环体可以是一条语句【参考答案】: A9.对于int*p;inta[];p=a;的合法运算()A.a;B.p=a;p;相当于a;C.p;相当于a[1];D.若p中的地址为100则p;运算后,则其值为100【参考答案】: C10.若fp已正确定义为一个文件指针,d1.dat为二进制文件,为“读”而打开此文件的语句是()。
2022年电子科技大学公共课《C语言》科目期末试卷A(有答案)
2022年电子科技大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
2、C语言源程序的基本单位是________3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、下面程序段的运行结果是_______。
Char a[]="123456789",*p;inti=0;p=a;while(*p){if(i%2==0)*p='*';p++;i++;}puts(a);7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______10、字符串"ab\n\\012\\\"”的长度是_______。
二、选择题11、若有定义语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。
电子科技大学19秋《C语言》在线作业1答案
电子科技大学19秋《C语言》在线作业1试卷总分:100 得分:100【题目】下面程序的运行结果是()【题目】main()【题目】{inta[6],i;for(i=1;i6;i++)【题目】{a[i]=9*(i-2+4*(i3))%5;printf("%2d",a[i]);}}[A.]—40404[B.]—40403[C.]一40443[D.]一40440[分析以上题目,并完成作答]正确答案:C【题目】enum color{red,green,yellow=5,white,black}定义了一枚举类型。
编译程序为值表中各标识符分配的枚举值依次为()[A.]1、2、3、4、5[B.]0、1、5、2、3[C.]0、1、5、6、7[D.]3、4、5、6、7[分析以上题目,并完成作答]正确答案:C【题目】下面程序段的循环次数是()【题目】intk=2;【题目】while(k==0)printf(″%d″,k);【题目】k--;printf(″\n″);[A.]0次[B.]1次[C.]2次[D.]无限次[分析以上题目,并完成作答]正确答案:A【题目】若运行以下程序时,从键盘输入ADescriptorCR(CR表示回车),则下面程序的运行结果是()【题目】#includestdio.h【题目】main()【题目】{charc;intv0=0,v1=0,v2=0; 【题目】do【题目】{switch(c=getchar())【题目】{case'a':【题目】case'A':【题目】case'e':【题目】case'E':【题目】case'i':【题目】case'I':【题目】case'o':【题目】case'O':【题目】case'u':【题目】case'U':vl+=1;【题目】de[A.]v0=7,v1=4,v2=7[B.]v0=8,v1=4,v2=8[C.]v0=11,v1=4,v2=11[D.]v0=12,vl=4,v2=12[分析以上题目,并完成作答]正确答案:D【题目】main函数的正确说明形式是()[A.]main(intargc,char*argv)[B.]main(intabc,char**abv)[C.]main(intargc,charargv)[D.])main(intc,charv[])[分析以上题目,并完成作答]正确答案:B【题目】若有定义:inta[2][3],则对a数组的第i行j列元素地址的正确引用为()[A.]*(a[i]+j)[B.](a+i)[C.]*(a+j)[D.]a[i]+j[分析以上题目,并完成作答]正确答案:A【题目】下面程序的功能是计算正整数2345的各位数字平方和,请选择填空()【题目】#includestdio.h【题目】main()【题目】{intn,sum=0;【题目】n=2345【题目】do{sum=sum+(n%10)*(n%10);【题目】n=【】;【题目】}while(n);【题目】printf("sum=%d",sum);}[A.]n/1000[B.]n/100[C.]n/10[D.]n%10[分析以上题目,并完成作答]正确答案:C【题目】下述关于条件语句的描述中错误的是()[A.]if语句中只有一个else子句[B.]if语句中可以有多个elseif子句[C.]if语句中if体内不能有switch语句[D.]if语句的if体中可以是循环语句[分析以上题目,并完成作答]正确答案:C【题目】以下符合C语言语法的赋值表达式是()[A.]d=9+e+f=d+9[B.]d=9+e,f=d+9[C.]d=9+e,e++,d+9[D.]d=9+e++=d+7[分析以上题目,并完成作答]正确答案:B【题目】若有说明:char*language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};【题目】则表达式*language[1]*language[3]比较的是()[A.]字符F和字符P[B.]字符串BAS1C和字符串JAVA[C.]字符B和字符J[D.]字符串FORTRAN和字符串PASCAL[分析以上题目,并完成作答]正确答案:C【题目】在下面C语言的函数说明语句中,正确的是()[A.]int fun(int , int);[B.]int fun(int x,y);[C.]int fun(x,y);[D.]int fun(int x; int y);[E.]int fun(int x,int y);[分析以上题目,并完成作答]正确答案:AE【题目】在函数调用过程中,下列说法正确的是()[A.]形式参数和实在参数各占一个独立的存储单元[B.]形式参数和实在参数存储空间都是在函数调用时分配的[C.])在函数的执行过程中,形参变量值的改变不会影响实参值的改变[D.]函数调用结束时,临时存储区被撤消[E.]在函数调用过程中,实在参数与形式参数在个数、类型上必须匹配[分析以上题目,并完成作答]正确答案:ACDE【题目】在定义函数时,函数的存储类型可以()[A.]是static[B.]是auto[C.]是register[D.]是extern[E.]省略[分析以上题目,并完成作答]正确答案:ADE【题目】下列符号中可以用作自定义函数名的是()[A.]int[C.]INT[D.]Getchar[E.]typedef[分析以上题目,并完成作答]正确答案:BCD【题目】以下哪些是关于指针数组的正确描述()[A.]int (*a)[4];[B.]int *a[4];[C.]指针数组每个元素都是指针变量[D.]若int a[4][4]; int *b[]={a[0],a[1],a[2],a[3]}; 则b是指针数组[E.]指针数组与指向数组的指针是等价的[分析以上题目,并完成作答]正确答案:BCD【题目】以数组名作函数参数时,数据传递的方向是“双向的”,因此我们可以说,在此情况下,函数带回的返回值可能不止一个。
C语言考试A1-试卷和答案
电子科技大学网络教育考卷(A 卷)(20 年至20 学年度第 学期)考试时间 年 月 日(120分钟) 课程 C 语言 教师签名_____一、单项选择题(每题2分,共30分) 1.以下描述正确的是( C )A .goto 语句只能用于退缩出多层循环。
B .switch 语句中不能出现continue 语句。
C .只能用continue 语句中来终止本次循环。
D .在循环语句中break 语句不独立出现。
2.一个C 程序的执行是从( A )A .C 程序的main 函数开始,到main 函数结束。
B .本程序的第一个函数开始,到本程序最后一个函数结束。
C .本程序的main 函数开始,到本程序文件的最后一个函数结束。
`D .本程序的第一个函数开始,到本程序main 函数结束。
3.C 语言中,要求运算数必须都是整数的运算符是( C )。
A.* B.- C.% D.+4.假定 int i=3,j=4; 执行语句: printf("%d,%d,%d\n",i+++j,i,j); 之后,其输出结果为:( C ) A.7,4,4 B. 8,4,4 C. 7,3,4 D.7,3,5 5.对break 语句的正确描述。
( A )A .break 语句在while 语句中,立即终止执行while 语句。
B .break 语句不能用于循环语句之外的语句。
C .break 语句与continue 语句功能相同。
D .b reak 语句可以带参数,也可以不带。
6.在C 语言中,下面那一个不是正确的概念( A )A. 所有循环语句都要求至少要执行一次循环体。
B. goto 和if 语句能构成循环语句。
C .循环过程只能包含,不能交叉。
D .循环体可以是一条语句。
7.以下对二维数组a 的正确说明是( C )A. int a[ 3 ] [ ]; B. float a( 3, 4); C. int a[ 3 ] [ 4 ] D.float a( 3, )( 4 ); 8.对函数的正确描述( C )A .在C语言中可以嵌套定义函数。
电大C语言试题及答案
欢迎共阅电大C语言试题及答案一、第一章单选题1.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为。
答案:A2.C++语言中的每条基本语句以________作为结束符。
答案:;(或分号)3.C++语言中的每条复合语句以________作为结束符。
答案:(或右花括号)4.在C++每个程序行的后面或单独一行的开始使用注释的标记符为__________。
答案://5.单行或多行注释的开始标记符为__________、结束标记符为__________。
答案:/*、*/6.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则2.设x和y均为bool量,则x || y为假的条件是。
CA. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假3.设有语句“int a 12; a+ a*a;”,则执行结束后,a的值为。
CA. 12B. 144C. 156D. 2884.x 0 && x 10的相反表达式为()。
AA. x 0 || x 10B. x 0 && x 10C. x 0 || x 10D. x 0 && x 105.x 0 || y 5的相反表达式为()。
BC. 0~19D. 0~20四、第二章填空题1.十进制数25表示成符合C++语言规则的八进制数为________。
答案:0312.十进制数25表示成符合C++语言规则的十六进制数为________。
答案:0x193.在c++语言中,操纵符________表示输出一个换行符。
答案:endl4.执行“cout char 'A'+2 endl;”语句后得到的输出结果为________。
答案:C5.已知'A'~'Z'的ASCII码为65~90,当执行“int x 'C'+5;”语句后x的值为________。
答案:72__________。
电子科技大学14秋《C语言》在线作业2答案
14秋《C语言》在线作业2一,单选题1. 设变量a b c d 和y都已经正确定义并赋值,若有以下if 语句: if(a<b) if(c==d) y=0; else y=1; 给语句所表示的含义是( )A. y=0 a<b且c=d; y=1 a>=bB. y=0 a<b且c=d; y=1 a>=b 且c!=dC. y=0 a<b且c=d; y=1 a<b 且c!=dD. y=0 a<b且c=d; y=1 c!=d?正确答案:C2. 以下正确的叙述是( )A. 在C程序中,每行中只能写一条语句B. 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数,都能被准确无误地表示D. 在C程序中,%是只能用于整数运算的运算符?正确答案:D3. 有以下程序: #include <string.h> main() {char p[ ]={‘a’,’b’,’c’},q[10]={‘a’,’b’,’c’}; printf(“%d%d\n”,strlen(p),strlen(q)); } 以下叙述中正确的是()A. 在给p和q数组置初值时,系统回自动添加字符串结束符,故输出的长度都为3B. 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C. 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D.正确答案:B4. 标准库函数fgets(s,n,f)的功能是( )A. 从文件f中读取长度为n的字符串存入s中B. 从文件f中读取长度小于n的字符串存入s中C. 从文件f中读取n个字符串存入s中D. 从文件f中读取长度为n-1的字符串存入s中?正确答案:B5. 若i为整型变量,则以下循环执行次数是( ): for (i=2;i==0;) printf("%d",i-- );A. 无限次B. 0次C. 1 次。
《C语言》自测题B答案
13、以下叙述正确的是_____③_____
①goto语句只能用于退出多层循环。
②可以用continue语句来终止switch语句的执行。
③break语句只能用在循环体内和switch语句体中。
④在循环内使用break语句和continue语句的作用相同。
14、以下对二维数组a的正确说明是_____③_____
(20 年至20 学年度第 学期)
考试时间 年 月 日(120分钟) 课程 C语言 教师签名_____
大
九十
合Байду номын сангаас
题一二三四五六七八
计
号
得 分
一、单项选择题(每小题1分,共30分) 1、以下程序的运行结果是:________②_________。 #include "stdio.h" #include "string.h" void main() {char s[]="abcd"; printf("%d,%d\n",strlen(s),sizeof(s)); } ①5,4 ②4,5 ③4,4 ④5,5 2、以下程序的运行结果是:________③_________。
出的结果是_________③_________。(用大写字母U表示空格)
①x=12.34UUUUU
②x=UUUUU12.34
③x=12.35UUUUU
④x=UUUUU12.35
17、有以下程序:#include "stdio.h"
#include "stdlib.h"
void main()
{char *p,*q;
p=(char *)malloc(20*sizeof(char));q=p;
电子科技大学智慧树知到“计算机应用技术”《C语言》网课测试题答案4
电子科技大学智慧树知到“计算机应用技术”《C语言》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.#include void f(char *s,char *t) {char k; k=*s; *s=*t;*t=k; s++;t--; if(*s)f(s,t); } main() {char str[10]="abcdefg",*p; p=str+strlen(str)/2+1; f(p,p-2); printf("%s\n",str); } 程序运行后的输出结果是()。
A.gfedcbaB.gbcdefaC.abedcfgD.abcdefg2.定义char s[81];后,能正确输入一个字符串到数组s的语句是()。
A.scanf (”%s”,&s[0]);B.scanf (”%c”,s);C.gets(&s[0]);D.gets(s);3.以下数据类型在内存中占用4个字节的是()。
A.unsigned longB.unsigned charC.intD.float4.定义char s[81];后,能正确输入一个字符串到数组s的语句是()。
A.scanf ("%s",&s[0]);B.scanf ("%c",s);C.gets(&s[0]);D.gets(s);5.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为()。
A.0~65535B.0~32767C.0~255D.0~21474836476.在定义函数时,函数的存储类型可以()。
A.省略B.是staticC.是registerD.是externE.是auto7.下面的循环体执行完后,a的值是()。
for(a=2;aA.9B.10C.11D.128.下面四个选项中,均是不合法的用户标识符的选项是()。
电子科技大学网络教育专科C语言在线考试答案
一、单项选择题( 每题 2 分,共30 分)1.以下描述正确的是(C)A. goto 语句只能用于退缩出多层循环。
B. switch语句中不能出现continue语句。
C.只能用continue语句中来终止本次循环。
D.在循环语句中break 语句不独立出现。
2.一个 C 程序的执行是从(A)A. C程序的 main 函数开始,到main 函数结束。
B.本程序的第一个函数开始,到本程序最后一个函数结束。
C.本程序的main 函数开始,到本程序文件的最后一个函数结束。
`D.本程序的第一个函数开始,到本程序main 函数结束。
3. C 语言中,要求运算数必须都是整数的运算符是(C)。
A.*4.假定B.-int i=3,j=4;C.%D.+执行语句 : printf("%d,%d,%d\n",i+++j,i,j);之后,其输出结果为:(C)A.7,4,4B. 8,4,4C. 7,3,4D.7,3,55.对 break 语句的正确描述。
(A)A . break 语句在 while语句中,立即终止执行while语句。
B. break 语句不能用于循环语句之外的语句。
6.在 C 语言中 , 下面那一个不是正确的概念( A )A.所有循环语句都要求至少要执行一次循环体。
B.goto 和 if 语句能构成循环语句。
C.循环过程只能包含,不能交叉。
D.循环体可以是一条语句。
7.以下对二维数组 a 的正确说明是(C)A . int a[ 3 ] [ ]; B. float a( 3, 4);C. int a[ 3 ] [ 4 ]D.float a( 3, )( 4 );8.对函数的正确描述(C)A.在C语言中可以嵌套定义函数。
B.自定义函数和调用函数可以不在一个源文件中。
C.函数定义都是平行的,独立的。
D.不能嵌套调用函数。
9.若用数组名作为函数调用的实参,传给形参的是(AA.数组的首地址 B.数组的第一个元素值C.数组的全部元素值D.数组中元素的个数10.对于 int *p; int a[]; p=a;的合法运算(C)A . a++;B . p=a; p++;相当于a++;C.++p;相当于a[1];D.若p中的地址为100 则 p++; 运算后,则其值为100)11.假设int x[] = {1,3,5,7,9,11}, *ptr; ptr = x;以下那些是对数组元素的正确引用( D )A. *(ptr--)B.x[6]C.*(--ptr)D.*(ptr++) 12.执行以下语句后的结果为(A)enum weekday {sun,mon=3,tue,wed,thu};enum weekday workday;workday = wed;printf("%d\n",workday);A. 5 B. 3 C.4 D.编译出错13.要定义一个结构体类型拟包含两个成员,其中成员变量变量 link是指向自身结构体的指针。
电子科技大学14秋《C语言》在线作业1答案
14秋《C语言》在线作业1一,单选题1. putchar函数可以向终端输出一个( )A. 整型变量表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值?正确答案:D2. C语言规定:在一个源程序中,main函数的位置是( )A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后?正确答案:C3. 有以下程序,其中函数f的功能是将多个字符串按字典顺序排序#include<string.h> void f(char *p[],int n) { char *t; int i,j; for(i=0; i<n-1; i++) for(j=i+1;j<n; j++) if(strcmp(p[i],p[j])>0){t = p[i];p[i]=p[j];p[j] =t;} } main( ) { char *p[5] ={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”}A. 2B正确答案:D4. 若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为( )A. *(a[i]+j)B. (a+i)C. *(a+j)D. a[i]+j?正确答案:A5. 以下描述中正确的是( )A. 由于do~while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B. do~while循环由do开始,用while结束,在while(表达式) 后面不能写分号C. 在do~while循环体中,一定要有能使while后表达式值变为零("假")的操作D. do~while循环中,根据情况可以省略while?正确答案:C。
电大c语言期末考试题库及详解答案
电大c语言期末考试题库及详解答案一、选择题1. 下列关于C语言的叙述中,正确的是()。
A. C语言是一种高级语言B. C语言是一种汇编语言C. C语言是一种机器语言D. C语言是一种面向对象的语言答案:A2. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C二、填空题1. 在C语言中,表示逻辑与的运算符是______。
答案:&&2. 若有定义 int a=5;,则执行语句 a+=2; 后,变量a的值是______。
答案:7三、简答题1. 请简述C语言中数组的声明和初始化方法。
答案:在C语言中,数组的声明方法是指定数组的类型、名称和大小。
例如,声明一个整型数组可以写作:int array[10];。
数组的初始化可以在声明时进行,也可以在声明后进行。
在声明时初始化,可以使用花括号指定每个元素的值,例如:int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};。
在声明后初始化,可以使用循环或者逐个赋值。
2. 解释C语言中指针的概念及其用途。
答案:指针是C语言中的一种数据类型,它存储了另一个变量的内存地址。
指针的用途非常广泛,包括动态内存分配、函数参数传递、数组操作等。
通过指针,可以间接访问和操作内存中的数据,这使得程序更加灵活和高效。
四、编程题1. 编写一个C语言程序,实现计算并打印100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("100以内所有偶数的和为: %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[] = "Hello, World!";reverseString(str);printf("反转后的字符串为: %s\n", str); return 0;}```。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(每题2分,共30分)1.以下描述正确的是( C )A.goto语句只能用于退缩出多层循环。
B.switch语句中不能出现continue语句。
C.只能用continue语句中来终止本次循环。
D.在循环语句中break语句不独立出现。
2.一个C程序的执行是从( A )A.C程序的main函数开始,到main函数结束。
B.本程序的第一个函数开始,到本程序最后一个函数结束。
C.本程序的main函数开始,到本程序文件的最后一个函数结束。
`D.本程序的第一个函数开始,到本程序main函数结束。
3.C语言中,要求运算数必须都是整数的运算符是( C )。
A.*B.-C.%D.+4.假定 int i=3,j=4; 执行语句: printf("%d,%d,%d\n",i+++j,i,j); 之后,其输出结果为:( C )A.7,4,4B. 8,4,4C. 7,3,4D.7,3,55.对break语句的正确描述。
( A )A.break语句在while语句中,立即终止执行while语句。
B.break语句不能用于循环语句之外的语句。
C.break语句与continue语句功能相同。
D.b reak语句可以带参数,也可以不带。
6.在C语言中,下面那一个不是正确的概念( A )A. 所有循环语句都要求至少要执行一次循环体。
B. goto和if语句能构成循环语句。
C.循环过程只能包含,不能交叉。
D.循环体可以是一条语句。
7.以下对二维数组a的正确说明是( C )A. int a[ 3 ] [ ]; B. float a( 3, 4);C. int a[ 3 ] [ 4 ]D.float a( 3, )( 4 );8.对函数的正确描述( C )A.在C语言中可以嵌套定义函数。
B.自定义函数和调用函数可以不在一个源文件中。
C.函数定义都是平行的,独立的。
D.不能嵌套调用函数。
9.若用数组名作为函数调用的实参,传给形参的是( A )A.数组的首地址 B.数组的第一个元素值C.数组的全部元素值 D.数组中元素的个数10.对于 int *p; int a[]; p=a; 的合法运算( C )A. a++;B. p=a; p++; 相当于 a++;C. ++p; 相当于 a[1];D.若p中的地址为100则p++; 运算后,则其值为10011.假设int x[] = {1,3,5,7,9,11}, *ptr; ptr = x; 以下那些是对数组元素的正确引用 ( D )A. *(ptr--) B. x[6] C. *(--ptr) D. *(ptr++) 12.执行以下语句后的结果为( A )enum weekday {sun,mon=3,tue,wed,thu};enum weekday workday;workday = wed;printf("%d\n",workday);A.5 B. 3 C.4 D.编译出错13.要定义一个结构体类型拟包含两个成员,其中成员变量info用来存放整型数据,成员变量link是指向自身结构体的指针。
则下面的定义正确的是( D )。
A.struct node{int info;struct node link;};B.struct node{int info;node *link;};C.struct node{int info;struct *link;};D.struct node{int info;struct node *link;};14.以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是( D )。
A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)15.局部变量的作用域( A )A.在定义的块内有效。
B.在函数外也有效。
C.在本文件内有效。
D.在所有文件内有效。
一、单项选择题(每题2分,共30分)1.下面的四个选项中,均不是合法的用户标识符的选项是(B )A. BB. b-aC. floatD. _123M_0 goto 2ab tempwhile int _A INT2.有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量a,b,c的值分别为1,3,2,从键盘上输入数据的正确形式应当是( B )A.132 〈回车〉B.a=1,b=3,c=2〈回车〉C.a=1 b=3 c=a <回车>D.1,3,2 〈回车〉3.如果输入信息为:则执行语句:scanf("%2d%2d",&x,&y); 之后,x,y的值为( A )A. x为12,y为34B. x为2,y为3C. x为12,y为67D.x为,y为04.对于for(表达式1;表达式2 ;表达式3) 语句的正确描述( B )A.表达式2省略,循环不执行。
B.表达式3省略,可在循环体中修改循环控制变量,以保证正常退出。
C.三个表达式均不能省略。
D.三个表达式均不能省略。
但分号可以省略。
5.以下叙述中正确的是(B )。
A.循环语句嵌套必须是同类型的语句B.循环语句嵌套可以是同类型的语句,也可以不同类型C.do_while循环语句和while循环语句的程序执行方式都是相同的。
D.循环体中不能再有循环语句6.有下面的程序段:char a[ 3 ], b[ ] =”student”;a=b;printf (“ %s”,a);则( D )A.运行后将输出student ; C.运行后将输出b;B.运行后将输出a D.编译出错7.当数组作函数参数时,选出不正确的描述。
( D )A.实参数组与形参数组类型应一致。
B.数组元素做函数实参时,同变量做实参一样是参数传值。
C.形参数组可以不定义数组大小。
D.实参数组与形参数组大小必须一致,否则C编译会检查出错。
8.在C语言中,函数返回值的类型最终取决于( A )。
A.函数定义时在函数首部所说明的函数类型B.return语句中表达式值的类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型9.若有说明int (*p)[3];则以下正确的描述( B )A.p是一个指针数组。
B.p 是一个指针,它只能指向一个包含3个int类型元素的数组。
C.p是一个指针,它可以指向一个一维数组中的任意元素。
D.(*p)[3]与*p[3]等价。
10. 已知int b; 则对指针变量p正确的说明和初始化是:( 4 )A. int *p=b;B. int p=b;C. int p=&b;D. int *p=&b;11.若已定义了如下的共用体类型变量x,则x所占用的内存字节数为( C )(设在16位pc机的环境下)union data{ int i;char ch;double f; }x;A. 7B. 11C. 8D. 1012.设fp为指向某二进制文件的指针,且已经读到此文件末尾,则函数feof(fp)的返回值为( B )。
A.EOFB.非0值C.0D.NULL13. C语言程序中,main函数的位置( D )。
A.在开头B.在结尾C.在中间D.可以任意14. int x=3; if(1<=2)if(0)x=4;else x=5;else x=6; 执行上述语句后x的值是( C ).A.3B.4C.D.615. 以下叙述正确的是( C )A.goto语句只能用于退出多层循环。
B.可以用continue语句来终止switch语句的执行。
C.break语句只能用在循环体内和switch语句体中。
D.在循环内使用break语句和continue语句的作用相同。
一、单项选择题(每题2分,共30分)1.请问:下面这个程序段的输出是什么?( D )int a=7,b=8,c=9;if(a<b) { a=b; b=c; c=a; }printf("a=%d b=%d c=%d\n",a,b,c);A . a=7 b=8 c=7 B. a=7 b=9 c=7C. a=8 b=9 c=7D. a=8 b=9 c=82.C语言对嵌套if 语句的规定是:else总是与(D)配对。
A.其之前最近的ifB.第一个ifC.缩进位置相同的ifD. 其之前最近且不带else 的if3.有以下程序段:int k=0;while(k=1) k++;while循环执行的次数是( A )。
A.无限次 B.有语法错,不能执行C. 一次也不执行D.执行1次4.若有语句:tatic char x[]="12345";static char y[] = {'1','2','3','4','5'};则下面那一个是正确的描述。
( 2 )A.x数组和y数组的长度相同。
B.x数组长度大于y数组长度。
C.x数组长度小于y数组长度。
D.x数组等价于y数组。
5.若有定义:int a[5][6]; 则下面关于数组a的叙述中正确的是( C )。
A.该数组共有20个元素B.a[0][6]是该数组的一个元素C.a[0][0]是该数组的一个元素D.a[5][6]是该数组的一个元素6.对局部变量不正确描述( B )A.在不同块内可以使用相同的变量名而不会混淆。
B.局部变量在任何一个函数内有效。
C.局部变量的初值每调用一次赋一次D.用auto说明的变量为局部变量。
7.凡是函数中未指定存储类别的局部变量,隐含的存储类别为( A )。
A.auto B. register C. static D. extern8.在说明语句:int *f( );中,标识符f代表的是( A )A.一个返回值为指针型的函数名B.一个用于指向整型数据的指针变量C.一个用于指向函数的指针变量D.一个用于指向一维数组的行指针9.typedef( D )A.可以定义各种类型名和变量名。
B.可以创造新的数据类型。
C.和#define作用相同。
D. 只是对已存在的类型增加一个类型名,不能创造新类型。
10.若fp已正确定义为一个文件指针,d1.dat为二进制文件,为“读”而打开此文件的语句是( B )。
A.fp=fopen("d1.dat","r");B.fp=fopen("d1.dat","rb");C.fp=fopen("d1.dat","r+");D.fp=fopen("d1.dat","w");11.以下选项中,当x为大于1的奇数时,值为0的表达式是( D )。