C语言 文件练习题
C语言练习题及其答案
C语言练习题及其答案C语言练习题及其答案C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
C语言能以简易的方式编译、处理低级存储器。
下面是店铺帮大家整理的C语言练习题及其答案,仅供参考,大家一起来看看吧。
C语言练习题及其答案1一、选择题(7分,每小题0.5分)1.C语言源程序的基本单位是(B)。
A过程 B函数 C子程序 D标识符2.下列程序的输出结果是(C)。
main( ){ int a=7,b=5;printf("%d ",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是(B)。
A 7B 8 C9 D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是(C)。
int k=10;while(k=0) k=k-1;A循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。
A p="abcd";B a="abcd";C *p="abcd";D *a="abcd";13.设有以下程序段,则值为6的表达式是()。
struct st { int n; struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,0},*p;p=&a[0];A p++->nB ++p->nC p->n++D (*p).n++14.C语言中的文件类型只有()。
C语言练习题一及答案
C语言练习题一一、填空题。
(每空1分,共10分)1.语句while(e==0):中的条件e==0等价于_____________;答案:!e2 printf(“%4s”,“beijing”);输出为:_____________;答案:beijing3.C语言中的字符串以字符_____________;答案:答案:\04.C语言可以处理的文件类型是_____________和_____________;答案:文本文件和二进制文件5,int(*P)[5];说明p是:_____________;答案:指向一维整形数组的指针变量6.函数直接或间接地调用自己,被称为函数的_____________;答案:递归7.若有static int x[5],x[4]的地址表示是:___________ 。
答案:&x[4]或x+48.有程序段如下:int x=l:while (x<=lO){x+=3;printf(“%d\n”,x);}则:函数printf()执行次数是____4_____ ,循环结束后X的值是___________ 。
答案:139.若有以下定义和语句,则sizeof(a)的值是_____,答案:12,而sizeof(b)的值是__。
答案:4 struct{int day;char month;int year;}a,*b;10.若有static char c[10] = “China”;执行该语句后c[1]= ___________ 。
答案:h c[5]= ___________ 。
答案:\0c[6]= ___________ 。
答案:\0 strlen(c)= ___________ 。
答案:511.若有Static char c[s]={’a’,’b’,’\0’(零),‘c’,‘d’};printf(“%s\n”,c):则输出内容为:___________ 。
答案:ab12.下面程序把从终端读人的10个整数以二进制方式写到一个名为bi.dat的新文件中。
计算机二级C语言文件习题答案
(4)fseek(fp,-2L,SEEK_END);文件定位于文件末尾的倒数第二个字符型字节处,即定位于整数‘c’的前面。
(5)fread(&t,1,1,fp);从文件中读取一个1字节的数字,并且赋值给变量t .即t变量得到的值为‘c’.
(6)关闭文件。
(7)输出变量t的值,即c.
2) i=2,i<6为真,执行循环体fprintf(fp,”%d”,i);给fp指针打开的文件out.dat中写入数据2。判断i%3==0为假,因此不执行fprintf(fp,”\n”)。
3) i=3,i<6为真,执行循环体fprintf(fp,”%d”,i);给fp指针打开的文件out.dat中写入数据3。判断i%3==0为真,执行fprintf(fp,”\n”),写入回车符。
(5)从文件 中读取一个数字赋值给变量n ,则变量n得到的值为123.
(6)关闭文件,输出变量n得到的值,即输出的结果为123.
20.答案选择:D
解析:
(1) fopen(“d2.dat”,”w”);打开的是一个文本文件,以写的方式打开该文件。
(2) fprintf(fp,“%d%d\n”,a[0],a[1],a[2]);将a[0],a[1]的值写到文件中,文件中的内容为:12换行,
18.答案选择:C
解析:fread函数的格式为:fread(buffer,size,count,fp);其中的buffer代表的是从文件中读取出来的数据存放的首地址。size 代表的是每一个数据所占有的字节数,count代表的是读入数据的个数。所以选择答案C。
19.答案选择:B
解析:
(1)fopen(“d1.dat”,”w”);打开的是一个文本文件,以写的方式打开该文件。
c语言基础练习题及答案
c 语言基础练习题及答案一、单项选择题1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为_c_A 、”.c” B、“ .obj ” C、“ .exe” D 、“ .bas”2. 以下选项中不正确的整型常量是_c ______ 。
A、12L B 、-10 c、1,900 D、123U3. 表达式___c___ 的值是0。
A、3%5B、3/5.0 c、3/5 D、3<54. 表达式!(x>0||y>0) 等价于__D___ 。
A 、!x>0||!y>0B 、!(x>0)||!(y>0) c 、!x>0&&!y>0 D 、!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D ____ 不符合c 语言语法。
A、4&&3 B 、+a c、a=b=5 D 、int(3. 1 4)6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3) ;时,___BA 、2030,40 B、20 30 40 c、20, 30 40 D 、20, 30,407. 执行语句printf( ” __D ____ ” , 2); 将得到出错信息。
A、%dB、%o c、%x D 、%f8. 设变量定义为"int s[ ]=hello\nworld\n; ”则数组s中有—B __________ 个元素。
A、12B、13 c、14 D、159. 设变量定义为“ int a[2]={1,3}, *p=&a[0]+1; ” 则*p 的值是___B_。
A、2B、3 c、4 D、&a[0]+110. 若变量已正确定义并赋值,表达式-k++ 等价于__A________ 。
A、-(k++) B 、(-k)++ c、-(k+1) D、-(++k)11. 在c 语言程序中,在函数内部定义的变量称为__D ____ 。
C语言练习题 (在图书馆可打印)
1. 以下不是C语言的特点的是()A. C语言简洁,紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好2. 以下不正确的C语言标识符是()A. ABCB. abcC. a_bcD. ab.c3. 一个C程序的执行是从()A. main()函数开始。
直到main()函数结束B. 第一个函数开始, 直到最后一个函数结束C. 第一个语句开始。
直到最后一个语句结束D. .main( )函数开始,直到最后一个函数结束4. 在C程序中main() 的位置()A. 必须作为第一个函数B. 必须作为最后一个函数C. 可以任意D.必须放在它所调用的函数之后5. 一个C程序是由()A. 一个主程序和若干个子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成是非题(对者打√,错者打×)1、C语言源程序的基本单位是函数()2、编辑程序的功能是建立并修改程序()3、C编译程序是一组机器语言指令()4、C语言源程序的语句分隔符是逗号()5、C语言源程序文件的扩展名是.obj()第二章数据类型、运算符与表达式选择题1. (设 int I; char c ;float f;)以下结果为整数的表达式的是()A. I+fB. i*cC. c+fD. I+c+f2. 设n=10,I=4,则赋值运算n%=I+1执行后,n的值是()A. 0B. 3C. 2D. 13.设 a=2,b=2; 则 ++a+b的结果是(),a 的结果是(),b的结果是()A. 2B. 3C. 4D. 54. 在C语言中,要求运算对象必须是整型的运算符是()A. /B. !C. %D. ==*4)设 int a=04, b; 则执行 b=a<<1 ;语句后,b的结果是()。
A.4B.04C. 8D.105. 属于非法转义字符的是()A. ‘\d’B.‘\0xf’C.‘\037’D.‘\f’*5)设有以下语句,则C的二进制值是()char a=3, b=6,c; c=a^b<<2;A. 00011011B. 00010100C. 00011100D. 000110006. sizeof(double)是一个()表达式()A. 整型B. 双精度C. 不合法D.函数调用7. 在C语言类型说明中,int ,char, short等类型的长度是()A. 固定的B. 由用户自己定义的C. 任意的D. 与机器字的长度有关的※8)如下程序执行的结果是()main(){int n=1; printf(“%d%d%d\n”, n, ++n, n--); } A.1 1 1 B. 1 2 2 C. 1 2 3 D. 1 2 1是非题(对者打T,错者打F)1、 C语言中,大写字母和小写字母被认为是两个不同的字符()2、 C语言规定,在程序中所用到的变量都必须在程序中定义()3、在C语言中“\n”代表两个字符()4、在一个字符变量中可以存放一个字符串()5、一个字符数据既可以以字符形式输出,也可以以整型形式输出()6、在C语言中,不能把一个字符串赋给一个字符变量()7、自增运算符(++)和自减运算符(--)可以用于常量或表达式()8、表达式10/3的结果是3.3()9、在C语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。
C语言练习题
void main()
{ int s,k;
for(s=0,k=0;k<3;k++)
s+=a[k][k];
printf("%d#",s);
for(s=0,k=0;k<3;k++)
7. 设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \ n″,x,97);的输出是( )
A. x = a,y = 97 B. x = 97,y = a
C. x = 97,y = 97 D. x = a,y = a
8、在Trubo-C中,C语言源程序文件的后缀是()。
A. if(a>b){if(c>d) x = 1;else x = 2;}
B. if(a>b){if(c>d) x = 1;} else x = 2;
C. if((a>b) && (c>d)) x = 1;else x = 2;
D. if(a< =b) x = 2;else if (c>d) x = 1;
15.若变量a,b,c已正确定义并赋值,符合C语言语法的表达式是( )。
A. ab/c; B. a/cb C. a?b D. a*b/c
16.为表示.“a和b都大于0”,应使用的C语言表达式是( )。
A.(a>0)&&(b>0) B.a&&b C.(a>0)||(b>0) D.(a>0)|(b>0)
{ *y=x++; }
C语言文件练习题含答案
第十二章文件基础训练一、填空题1、文件是指___________________________________________________________。
2、根据数据的组织形式,C中将文件分为______ASCII码文件________和___二进制文件___________两种类型。
3、现要求以读写方式,打开一个文本文件 stu1 ,写出语句:__FILE *fp fp=fopen(“stu.txt”,”r+”);_______________。
__________________________________。
4、现要求将上题中打开的文件关闭掉,写出语句:___fclose(fp);__________________。
5、若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则打开文件方式字符串应该是___fopen(“a.txt”,”wb+”);__________。
二、选择题1、若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( ) 。
A) fopen("A:\user\abc.txt","r") B) fopen("A:\\user\\abc.txt","r+")C) fopen("A:\user\abc.txt","rb") C) fopen("A:\\user\\abc.txt","w")2、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )。
A) 0 B) 1 C) -1 D) 一个非0值3、当已经存在一个file1.txt文件,执行函数fopen(“file1.txt”,”r+”)的功能是()。
A)打开file1.txt文件,清除原有的内容;B)打开file1.txt文件,只能写入新的内容;C)打开file1.txt文件,只能读取原有内容;D)打开file1.txt文件,可以读取和写入新的内容;4、 fread(buf , 64,2,fp)的功能是:( )A)从fp所指向的文件中,读出整数64,并存放在buf中;B)从fp所指向的文件中,读出整数64和2,并存放在buf中;C)从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中;D)从fp所指向的文件中,读出64个字节的字符,并存放在buf中;5、以下程序的功能是( ) 。
C语言练习题(带详解答案)
C语言练习题(带详解答案)一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。
C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的-,选项B中[与]不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的-不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%某B)a+bC)a123D)123选项A中的%,选项B中+不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的\\,$,选项D中>,#,.,-不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
C语言200道练习试题和答案
A)<=
B)=
C)%
D)&&
26.表达式(a=2,3) , a+1的值是【 C 】。
A)0 B)2
C)3
D)4
27.若执行printf("%d\n", strlen("a\n\"\x41"))语句其输 出结果是【 D 】。
A)8 B)7 C)6
D)4
28.在循环语句的循环体中执行break语句, 其作用是【 A 】。 A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行
则输出是【 d 】 A)1234.56 1234 B)1234.57 1235 C)1234.56 1235 D)1234.57 1234
43.如果有
int a, b; scanf(“%d,%d”, &a, &b);语句,
则输入数据时,只可以用【 d 】作为输入的分隔符
A)TAB键 B)空格
C)回车
C)20,10 D)20,20
24.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是【 B 】。
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
25.在以下一组运算符中,优先级最高的运算符是【 C 】
int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678
c语言练习题
c语言练习题1停车场收费问题一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5+(3.6-3)某2=6.2元。
最高收费为40元。
假设任何车辆的停车时间都不超过24小时。
编写程序,计算每辆车的停车费。
(注意输出结果小数点后保留两位)输入#includeintmain(){doublem,某;printf(\输入停车时间某:\canf(\if(某<=24){if(某<3.0){m=5.0;printf(\eleif(某>3.0){m=5.0+2.0某(某-3.0);if(m<=40)printf(\}eleprintf(\输出停车费用40元\\n\return0;2.#includeintmain(){double某,m;printf(\输入停车时间(某):\canf(\if(某<=24){if(某<=3.0)printf(\停车费用5元\\n\if(某>3)m=5.0+2.0某(某-3.0);if(m<=40)printf(\eleprintf(\停车费用40元\\n\}}2计算细菌数量一种细菌的繁殖速度是每天成倍增长。
例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。
现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。
3计算邮资计算邮资:用户输入:邮件的重量,以及是否加快计算规则:重量在1克以内(包括1克),基本费0.8元。
超过1克的部分,按照0.5元/克的比例加收超重费。
如果用户选择加快,多收2元。
#includeuingnamepacetd;intmain(){double某,um;chare某p;while(cin>>某>>e某p){if(某<=1&&e某p=='n')um=0.8;if(某<=1&&e某p=='y')um=2.8;if(某>1&&e某p=='n')um=0.8+(某-1)某0.5;if(某>1&&e某p=='y')um=0.8+(某-1)某0.5+2;cout<return0;}#includeuingnamepacetd;intmain(){int某,y;//变量定义,此处假设需要定义两个变量,均定义为整型while(cin>>某>>y){你对一组输入的一次处理过程代码}return0;}C:#includeuingnamepacetd;intmain(){int某,y;//变量定义,此处假设需要定义两个变量,均定义为整型while(canf(%某%y\{你对一组输入的一次处理过程代码}return0;}注意:考虑以下几点,然后直接套用模版就行了:i)变量定义。
c语言期末考试练习题1(含答案)
一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。
A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。
A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。
C语言 文件练习题
C语言文件练习题c语言文件练习题c语言文件练习题1.系统的标准输出文件就是指_________.a)键盘b)显示器c)软盘d)硬盘2.若执行fopen函数时发生错误,则函数的返回值是______.a)地址值b)0c)1d)eof3.若要用fopen函数关上一个代莱二进制文件,该文件必须既读也能够写下,则文件方式字符串应当就是______.a)\4.fscanf函数的正确调用形式是______.a)fscanf(fp,格式字符串,输出表列)b)fscanf(格式字符串,输出表列,fp);c)fscanf(格式字符串,文件指针,输出表列于);d)fscanf(文件指针,格式字符串,输出所列);5.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是____.a)只写b)追加c)读或读写d)答案b和c都正确6.函数调用语句:fseek(fp,-20l,2);的含义是_______.a)将文件位置指针移到距离文件头20个字节处b)将文件位置指针从当前位置向后移动20个字节c)将文件位置指针从文件末尾处后退20个字节d)将文件位置指针移到离当前位置20个字节处7.利用fseek函数可实现的操作_______.a)fseek(文件类型指针,起始点,位移量);b)fseek(fp,位移量,起始点);c)fseek(位移量,起始点,fp);d)fseek(初始点,加速度量,文件类型指针);8.在执行fopen函数时,ferror函数的初值是______.a)tureb)-1c)1d)09.fseek函数的恰当调用形式就是_________a)fseek(文件指针,起始点,位移量)b)fseek(文件指针,位移量,起始点)c)fseek(位移量,起始点,文件指针)d)fseek(起始点,位移量,文件指针)10.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是______a)eofb)-1c)1d)null11.下列关于c语言数据文件的叙述中正确的是________a)文件由ascii码字符序列共同组成,c语言就可以读取文本文件b)文件由二进制数据序列共同组成,c语言就可以读取二进制文件c)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件d)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件12.函数fseek(pf,ol,seek_end)中的seek_end代表的起始点是________a)文件已经开始b)文件末尾c)文件当前边线d)以上都不对13.c语言中,能够辨识处置的文件为_______a)文本文件和数据块文件b)文本文件和二进制文件c)流文件和文本文件d)数据文件和二进制文件14.若调用fputc函数输入字符顺利,则其返回值就是________a)eofb)1c)0d)输出的字符15未知函数的调用形式:fread(buf,size,count,fp),参数buf的含义就是______a)一个整型变量,代表要读入的数据项总数b)一个文件指针,指向要读的文件c)一个指针,指向必须初始化数据的放置地址d)一个存储区,放置爱读的数据项16当顺利执行了文件关闭操作时,fclose函数的返回值是_________a)-1b)truec)0d)117.如果需要打开一个已经存在的非空文件“demo”进行修改下面正确的选项是______a)fp=fopen(\b)fp=fopen(\c)fp=fopen(\d)fp=fopen(\18.关于文件认知不恰当的为_________.a)c语言把文件看作是字节的序列,即由一个个字节的数据顺序组成;b)所谓文件一般指存储在外部介质上数据的集合;c)系统自动地在内存区为每一个正在采用的文件开拓一个缓冲区;d)每个打开文件都和文件结构体变量相关联,程序通过该变量访问该文件;19.关于二进制文件和文本文件描述正确的为_________.a)文本文件把每一个字节放成一个ascii代码的形式,就可以放置字符或字符串数据;b)二进制文件把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放;c)二进制文件可以节省外存空间和切换时间,无法放置字符形式的数据;d)通常中间结果数据须要暂时留存在外存上,以后又须要输出内存的,常用文本文件留存;20.系统的标准输入文件操作的数据流向为_________.a)从键盘至内存b)从显示器至磁盘文件c)从硬盘至内存d)从内存至u盘21.利用fopen(fname,mode)函数同时实现的操作方式不恰当的为_________.a)正常返回被打开文件的文件指针,若执行fopen函数时发生错误则函数的返回null;b)若打听没由pname选定的适当文件,则按选定的名字创建一个崭新文件;c)若打听没由pname选定的适当文件,且mode规定按读方式关上文件则产生错误;d)为pname指定的相应文件开辟一个缓冲区,调用操作系统提供的打开或建立新文件功能;22.利用fwrite(buffer,sizeof(student),3,fp)函数叙述不恰当的_________.a)将3个学生的数据块按二进制形式写入文件;b)将由buffer选定的数据缓冲区内的3*sizeof(student)个字节的数据载入选定文件;c)返回实际输出数据块的个数,若返回0值表示输出结束或发生了错误;d)若由fp指定的文件不存在,则返回0值;23.利用fread(buffer,size,count,fp)函数可实现的操作方式_________.a)从fp指向的文件中,将count个字节的数据读到由buffer指出的数据区中;b)从fp指向的文件中,将size*count个字节的数据读到由buffer指出的数据区中;c)以二进制形式加载文件中的数据,返回值就是实际从文件读取数据块的个数count;d)若文件操作出现异常,则返回实际从文件读取数据块的个数;24.检查由fp指定的文件在读写时是否出错的函数是_________.a)feof()b)ferror()c)clearerr(fp)d)ferror(fp)25.函数调用语句:fseek(fp,-10l,2);的含义就是________。
(完整版)C语言程序设计练习题(含程序及参考答案)
float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;} if (*p<*q) { k=*p;*p=*q;*q=k;} }
int i,s=0; for (i=2;i<n;i++)
if (n%i==0) s=s+i; return s; }
void main() /*主函数*/ {
void NONO(); printf("%d\n",fun(120)); NONO(); }
void NONO( ) {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
The shortest way to do many things is
10、判断两个整数m和n是否互质(即是否有公共的因子)(m≠1,n≠1)。方 法是: 用2到t(t取m和n中较小的那个数)之间的数分别去除m和n,若m和n能 同时被某个数除尽,则m和n不互质;否则它们互质。
例如,若输入187和85,则应输出No(表示它们不互质,它们有公因子17)。 若输入89和187,则应输出Yes(表示它们互质)。 #include <stdio.h> int IsThat( int m, int n ) {
The shortest way to do many things is
C 语言练习题
(所提供的源程序均采用自定义函数方式解决,如不
采用函数方式,也可直接在 main 函数中借鉴该思想
编程,因时间有限,所有程序未能一一验证,仅供参
C语言各章节练习题(含答案)
C语言各章节练习题(含答案)一、c语言概述练习题选择1.一个c程序的执行是从。
a)本程序的main函数开始,到main函数结束b)本程序文件的第一个函数已经开始,至本程序文件的最后一个函数完结c)本程序文件的第一个函数已经开始,至本程序main函数完结d)本程序的main函数已经开始,至本程序文件的最后一个函数完结2.以下描述不恰当的就是。
a)一个c源程序必须包含一个main函数b)一个c源程序可由一个或多个函数组成c)c程序的基本组成单位是函数d)在c程序中,注释说明只能位于一条语句的后面3.以下描述恰当的就是。
a)在对一个c程序进行编译的过程中,可发现注释中的拼写错误b)在c程序中,main 函数必须位于程序的最前面c)c语言本身没输入输出语句d)c程序的每行中就可以写下一条语句4.一个c语言程序就是由。
a)一个主程序和若干个子程序组成b)函数组成c)若干过程组成d)若干子程序组成二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32)a)4b)16c)32d)522.下列四组选项中,均不是c语言关键字的选项是。
a)defineiftypeb)getccharprintfc)includecasescanfd)whilegopow3.以下四组选项中,均就是不合法的用户标识符的选项就是。
(c语言标识符由字母,数字,下划线共同组成,结尾无法就是数字)a)wp_0dob)b-agotointc)floatla0_ad)-123abctemp8.未知字母a的ascii码点为十进制数65,且c2为字符型,则继续执行语句c2=‘a’+‘6’-‘3’后,c2中的值。
a)db)68c)不确定的值d)c填空题1.若存有以下定义,则排序表达式y+=y-=m*=y后的y值就是【1】。
-16intm=5,y=2;7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。
c语言程序基础练习题500道(附答案)
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。
C语言练习题
第一章C程序概述一.选择题1.在计算机上可以直接运行的程序是(C )A.C语言源程序B.汇编语言程序C.机器语言程序D.高级语言程序2.一个程序总是从( B )开始执行程序A.第一行B.主函数C.第一个函数D.最后一个函数3.下述标识符中,(B )是合法的用户标识符。
A.A#CB.getchC.voidD.ab*4.以下叙述正确的是( C )A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误5.C语言规定,在一个源程序中,main函数的位置(C )A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后6. 一个C语言程序是由( B )A.一个主程序和若干个子程序组成B.函数组成C.若干个过程组成D.若干子过程组成7. 以下叙述不正确的是( D )A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面8.一个C程序的执行是从( A )A.本程序的main函数开始,到main函数的结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束C.本程序文件的main开始,到本程序文件的最后一个函数的结束D.本程序文件的第一个函数开始,到本程序文件的main函数的结束9. 以下叙述中正确的是( B )A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编译10.以下叙述错误的是( D )A.C程序中,语句用分号“;”结尾,分号是C语句的一部分B.C程序中,可以在“{}”内写若干条语句,构成复合语句C.D语言的变量在使用之前必须先定义其数据类型D.C语言函数内部可以定义函数11. 以下叙述错误的是( D )A.C程序的注释部分放在“/*”和“*/”之间,“/”和“*”之间不允许有空格B.一个C源程序可由一个或多个函数组成C.一个C源程序必须有一个且只能有一个main函数D.C程序编译时注释部分的错误将被发现二.填空题1. C源程序的基本单位是________(函数)2. 一个C源程序中至少应包括一个______(main 函数)3. 在一个C源程序中,注释部分两侧的分界符分别是______和______(/* */)。
大一C语言练习题
20、系统总是为数组分配( 连续 )的一块内存。
21、字符串的结束标志是(ASCII码的0 )。
22、TC系统为任何指针变量分配的内存是( 4 )字节。
23、若有定义:double x[3][5]; 则x数组中行下标的下限为( 2 ),列下标的上限为( 4 )。
19、函数形式参数在( )时分配内存,( )时释放内存。
20、系统总是为数组分配( )的一块内存。
21、字符串的结束标志是(ASCII码的0 )。
22、TC系统为任何指针变量分配的内存是( )字节。
23、若有定义:double x[3][5]; 则x数组中行下标的下限为( ),列下标的上限为( )。
2、结构化程序的三种基本结构是( 顺序、选择 、循环 )。
3、整型常量有三种表示方法,它们是( 十进制整数 )、( 八制整数 )、( 十六整数 )。
4、表达式3.5+1/2+56%10 的值是( 9.5 );10/10和10%10的值各是(1和0)。
5、表达式3%3*3的值是( 0 );5/3*3的值是( 3 );3*6%4的值是( 2 )。
占用内存多。
27、struct st { char num[5]; int a[4]; float ave; } a,*p; 则变量a和p在内存各
占( 25和4 )字节。
28、union un { int i; char c;} ;
struct st { int v[4]; double t; union un k; }w, *pw; pw=&w;
27、struct st { char num[5]; int a[4]; float ave; } a,*p; 则变量a和p在内存各占( )字节。
C语言练习题及答案
C语言练习题及答案综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。
A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3 B) 3 3.500000C) 3.500000 3.500000 D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A) 3.65e3 B)0.356E3 C)356e3 D)3.56e3.09、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。
(完整版)C语言各章练习题
目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。
c语言第10章文件练习题
fclose(f1); fclose(f2);} 5. 以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此
文件文件中形成文本文件,并将字符的个数写到文件尾部,请填空。 #include<stdio.h> main( ) {
FILE *fp; char ch,fname[32]; int count=0; printf("Inputthefilename:"); scanf("%s",fname); if((fp=fopen(【1】,"w+"))==NULL) {printf("Can'topenfile:%s\n",fname); exit(0);} printf("Enterdata:\n"); while((ch=getchar())!="#") { fputc(ch,fp); count++;} fprintf(【2】 ,"\n%d\n", count); fclose(fp); } 6. 以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字 母,输出到文件 test.txt中,然后从该文件读出字符串并显示出来。请填空。 #include<stdio.h> main() {
第 10章 文件练习题
一、 选择题
1. 对 C语言的文件存取方式中,文件()。
A.只能顺序存取
B.只能随机存取(也称直接存取)
C.可以是顺序存取,也可以是随机存取
D.只能从文件的开头存取
2. C语言可以处理的文件类型是()。
A.文本文件和数据文件
B.文本文件和二进制文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言文件练习题
1.系统的标准输入文件是指_________.
a)键盘 b)显示器 c)软盘 d)硬盘
2.若执行fopen函数时发生错误,则函数的返回值是______.
a)地址值 b)0 c)1 d)EOF
3.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是______.
a)"ab+" b)"wb+" c)"rb+" d)"ab"
4.fscanf函数的正确调用形式是______.
a)fscanf(fp,格式字符串,输出表列)
) 11.下列关于C语言数据文件的叙述中正确的是________
A)文件由ASCII码字符序列组成,C语言只能读写文本文件
B)文件由二进制数据序列组成,C语言只能读写二进制文件
C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
12.函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是________
A)文件开始B)文件末尾C)文件当前位置D)以上都不对
13.C语言中,能识别处理的文件为_______
A)文本文件和数据块文件B)文本文件和二进制文件
C)流文件和文本文件D)数据文件和二进制文件
14.若调用fputc函数输出字符成功,则其返回值是________
A)EOF B)1 C)0 D)输出的字符
15 已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是______
A)一个整型变量,代表要读入的数据项总数
B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址
D)一个存储区,存放要读的数据项
16 当顺利执行了文件关闭操作时,fclose函数的返回值是_________
A)-1 B)TRUE C)0 D)1
17.如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是______
盘
d) 为pname指定的相应文件开辟一个缓冲区,调用操作系统提供的打开或
建立新文件功能;
22.利用fwrite (buffer, sizeof(Student),3, fp)函数描述不正确的_________.
a) 将3个学生的数据块按二进制形式写入文件;
b) 将由buffer指定的数据缓冲区内的3* sizeof(Student)个字节的数据写入指定文件;
c) 返回实际输出数据块的个数, 若返回0值表示输出结束或发生了错误;
d) 若由fp指定的文件不存在,则返回0值;
23.利用fread (buffer,size,count,fp)函数可实现的操作_________.
a) 从fp指向的文件中,将count个字节的数据读到由buffer指出的数据区
中;
b) 从fp指向的文件中,将size*count个字节的数据读到由buffer指出的数据区中;
c) 以二进制形式读取文件中的数据,返回值是实际从文件读取数据块的个数count;
d) 若文件操作出现异常,则返回实际从文件读取数据块的个数;
24.检查由fp指定的文件在读写时是否出错的函数是_________.
a) feof() b) ferror() c) clearerr(fp)d) ferror(fp)
25.函数调用语句:fseek(fp,-10L,2);的含义是________。
A 将文件位置指针从文件末尾处向文件头的方向移动10个字节
B 将文件位置指针从当前位置向文件头的方向移动10个字节。
(1)格式化输入多个学生记录
(2)利用fwrite将学生信息按二进制方式写到文件中;
(3) 利用fread从文件中读出成绩并求平均值;
(4) 对文件中按成绩排序,将成绩单写入文本文件中.
2.编写程序统计某文本文件中包含句子的个数。
3.编写函数实现单词的查找,对于已打开文本文件,统计其中包含某单词的个数。