安徽农业大学2009-5-16C语言试题(一)1.下列关于C语言用户标识符的叙述中正确的是______。A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.以下叙述不正确的是A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面3.下面能正确进行字符串赋值操作的语句是A.chars[5]={ABCDE};B.chars[5]={'A','B','C','D','E'};C.char*s;s=ABCDEF;D.char*s;scanf(%s,s);4.下列叙述中正确的是A.C语言编译时不检查语法B.C语言的子程序有过程和函数两种C.C语言的函数可以嵌套定义D.C语言的函数可以嵌套调用5.以下程序输出的结果是____。main(){floata=5,b=4,d;d=(ab);printf(%d\n,d);}A.1B.0C.1.0D.46.设inta=5,b=6,表达式(b--==6)?++a:--b的值是___A.5B.6C.7D.47.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___。for(i=0,j=10;j=i;i++,j--)k=i+j;A.10B.20C.8D.08.能正确表示逻辑关系:1≤a≤9的C语言表达式是A.a=1ora=9B.a=1且a=9C.a=1&&a=9D.1≤a≤99.有以下程序main(){inti=0,k=2;if(++i)printf(%d,k);elseprintf(%d,-k)}执行后输出结果是A.-2B.2C.0D.110.执行下面的程序段后,变量k中的值为intk=3,s[2];s[1]=k;k=s[1]*10;A.不定值B.33C.30D.1011.若有以下说明和语句,则输出结果是______。chars[12]=abook!;printf(%d,strlen(s));A.12B.8C.7D.1112.设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf(%d,s);则A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次13.下列是用户自定义标识符的是A._sd1B.3_mnC.floatD.Lone-314.阅读下列程序,程序的输出结果是#includestdio.hmain(){intm,n;floatk;for(m=6;m2;m--){k=0;for(n=m;n1;n--)k=k+m*n;}安徽农业大学2009-5-16printf(%f\n,k);}A.5.000000B.15.000000C.25.000000D.35.00000015.若i,j和k都是int型变量,则表达式(i=4,j=16,k=32,i=j)的值为A.4B.16C.32D.5216.以下能正确定义一维数组的选项是_____。A.intnum[];B.#defineN100intnum[N];C.intnum[0..100];D.intN=100;intnum[N];17.若有以下定义和语句:char*s1=12345,*s2=1234;printf(%d\n,strlen(strcpy(s1,s2)));则输出结果是_____A.4B.5C.9D.1018.下面各选项中,均是C语言标识符的选项组是A.forchinatoB.lng_123hort56_doC.voidunion_342D.text.txt_023_3ew19.下列程序执行后的输出结果是main(){chararr[2][4];strcpy(arr,you);strcpy(arr[1],me);arr[0][3]=′+′;printf(%s\n,arr);}A.you+meB.youC.meD.err20.下面属于C语言标识符的是______。A.1abB.@fC.?bD._a1221.分析如下程序,此程序运行时输出结果是:#includestdio.hvoidmain(){structu{char*name;intage;intincome;}s;s.name=Wangling;s.age=28;s.income=1000;printf(%d\n,s.age);}22.分析如下程序,此程序运行时输出结果是:#includestdio.hvoidmain(){inti,j,n=0;for(i=0;i2;i++){n++;for(j=0;j=3;j++){if(j%2)continue;n++;}}printf(%d,n);}23.以下程序输入3课整数给a、b、c;程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a、b、c的值,请填上空缺的语句:#includestdio.hvoidmain(){inta,b,c;inttemp;printf(Entera,b,c:)scanf(%d%d%d,&a,%b,&c);temp=a;a=b;b=c;______________printf(a=%db=%dc=%d\n,a,b,c);}24.下面程序是计算s=1+2+3+4+...+n,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:#includestdio.hvoidmain(){ints,i,n;scanf(%d,&n);for(i=1;;)安徽农业大学2009-5-16{if(i=n){continue;}else{s+=i;i++;}};printf(s=%d,s);}25.在答题区域中写出此程序中错误的语句和改正后的语句!下面程序是计算n的阶乘,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:#includestdio.hvoidmain(){floats=1,i=2,n;scanf(%d,&n);while(in){s*=i;i++;};printf(s=%f,s);}在答题区域中写出此程序中错误的语句和改正后的语句!26.下面程序是计算s=1+2+3+4+...+n,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:#includestdio.hvoidmain(){ints=0,i,n;scanf(%d,n);for(i=1;i=n;i++){s+=i;};printf(s=%d,s);}在答题区域中写出此程序中错误的语句和改正后的语句!27.下面程序是计算n的阶乘,n是由键盘输入,最后显示出s的值,请找出此程序中错误的语句:#includestdio.hvoidmain(){floats=0,i,n;scanf(%d,&n);for(i=2;i=n;i++){s*=i;};printf(s=%d,s);}28.在答题区域中写出此程序中错误的语句和改正后的语句!打开C:\CAADATA\28中的源程序文件313.c,补充程序使得程序运行时完成以下功能:在一字符串中查找有多少个小写英文字符('a'...'z'),并给出结论(共多少个)要求:1)字符串由键盘输入2)查找结束显示结论。并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。29.打开C:\CAADATA\29中的源程序文件215.c,补充程序使得程序运行时完成以下功能:从用户输入的一位整数判断是星期几(monday,tuesday,wednesday,thursday,friday,saturday,sunday)比如输入1,输出monday,如输入7,输出sunday。要求:1)首先判断用户输入的是不是1~7之间的数,若是则输出星期几2)若用户输入的不是1~7之间的数,输出errordata并以原文件名保存(不得删除原文件中的注释内容,否则该题不计分)。:1答案:B:2答案:D:3答案:C:4答案:D:5答案:A:6答案:B:7答案:A:8答案:C:9答案:B:10答案:C:11答案:C:12答案:B:13答案:A:14答案:B:15答案:B:16答案:B:17答案:A:18答案:B:19答案:A:20答案:D:21答案:2822.答案:623.答案:c=temp;安徽农业大学2009-5-16C语言试题(二)1.下面程序的输出结果为main(){inta,b;b=(a=3*5,a*4,a*5);printf(%d,b;}A.60B.75C.65D.无确定值2.以下程序的输出结果是main(){inti,k,a[10],p[3]:K=5;for(i=0;i〈10;i++)a[i]=i;for(i=0;i〈3;i++)p[i]=a[i*(i+1)];for(i=0;i〈3;i++)k+=p[i]*2;printf(%d\n,k);}A.20B.21C.22D.233.有以下程序main(){inti=0,k=2;if(++i)printf(%d,k);elseprintf(%d,-k)}执行后输出结果是A.-2B.2C.0D.14给出以下定义:charx[]=abcdefg;chary[]={'a','b','c','d','e','f','g'};A.数组X和数组Y等价B.数组x和数组Y的长度相同C.数组X的长度大于数组Y的长度D.数组X的长度小于数组Y的长度5不能把字符串:Hello!赋给数组b的语句是A.charb[10]={’H’,’e’,’l’,’l’,’o’,’!’};B.charb[10];b=Hello!;C.charb[10];strcpy(b,Hello!);D.charb[10]=Hello!;6能正确表示逻辑关系:a≥9或a≤1的C语言表达式是A.a=9ora=1B.a=1||a=9C.a=9&&a=1D.a=9||a=17下面程序输出的结果是main(){inti;inta[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i〈3;i++)printf(%d,a[2-i][i]);}A.159B.753C.357D.5918请选出可用作C语言用户标识符的一组标识符A.voidB.D3_b3C.forD.23a9以下对一维数组c进行正确的定义初始化的语句是A.intc[10]=0;B.intc[10]={0}*10;C.intc[1]={0,0,0,0,0,0,0};D.intc[10]={0};10用C语言编写的代码程序A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行11若x,i,j和k都是int型变量,则计算表达式x=(i=14,j=16,k=j)后,x的值为A.14B.16C.30D.5612设有intx=13;则表达式(--x*1/3)的值是A.3B.4C.11D.1213下列程序执行后的输出结果是main(){chararr[2][4];strcpy(arr,you);strcpy(arr[1],me);arr[0][3]=′+′;printf(%s\n,arr);}A.you+meB.youC.meD.err14设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___。for(i=0,j=10;j=i;i++,j--)k=i+j;A.10B.20C.8D.015下列选项中正确的语句组是A.chars[8];s={Beijing};B.char*s;s={Beijing};C.chars[8];s=Beijing;D.char*s;s=Beijing;安徽农业大学2009-5-1616下列是用户自定义标识符的是A._sd1B.3_mnC.floatD.Lone-317下列程序的输出结果是main(){intx,y;x=1.5;y=(x+3.5)/5;printf