欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言题带答案安阳工学院(共17页).doc

    • 资源ID:13850235       资源大小:74KB        全文页数:17页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言题带答案安阳工学院(共17页).doc

    精选优质文档-倾情为你奉上1. 选择题数据类型和表达式 81. 以下选项中不属于C语言的类型的是_。D A. signed short int B. unsigned long int C. unsigned int D. long short2. C语言提供的合法的数据类型关键字是: _。 BA. double B. short C. integer D. char3. 两路选择用_语句实现。 DA. case B. else if C. switch D. ifelse 4. 下列标识中合法的用户标识符为_。A A. year B. long C. 7 x yz D. struct5. 若有说明语句:char c='72';则变量c_。 A A. 包含1个字符 B. 包含2个字符 C. 包含3个字符 D. 说明不合法,c的值不确定6. 下面哪个不是C中的字符常量:_。 C ACB. bC. “C”D. 7.int i;float f;double d;表达式15 + d*f + A - i的值是_类型。 DA float B int C char D double8. 哪个不是C中的有效标示符:_。 AA num-2 B num_2C _num_2D _num_29. 下列语句正确的是:_。 D A 具有静态存储期限的变量具有文件作用域B 在函数内部声明的变量具有外部链接C 具有内部链接的变量都具有静态存储期限D 每个形式参数都具有块作用域10. x是const类型的变量,下列关于x的陈述错误的是:_。 A A 若x是int类型,可以作为switch语句中分支标号的值B 编译器将检查是否对x进行初始化C x遵循和变量一样的作用域规则D x可以是任意类型判断和循环811. 设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是_。 C A. while循环执行10次 B. 循环是无限循环 C. 循环体语句一次也不执行 D. 循环体语句执行一次12. 执行语句 for(i=1;i+ < 4;); 后变量 i 的值是 。C A. 3 B. 4 C. 5 D. 不定13. 下面哪个C循环式后判断循环_。 AA. dowhile B. for C. whileD. for和while14. 关于先判断循环的描述正确的是:_。 CA. 先判断循环的限制条件为假,循环再执行一次。B. 先判断循环的初始化首先在循环体完成。C. 先判断循环的循环体可以不执行。D. 先判断循环在每次循环体执行之后测试限制条件。15. 有以下程序 int main(void) int a=15,b=21,m=0; switch(a%3) case 0: m+;break; case 1:m+; switch(b%2) default:m+; case 0:m+;break; printf(”%dn”,m); 程序运行后的输出结果是_。 A A 1 B 2 C 3 D 416. 执行以下语句后,y 的值为_。 Aint main(void)int x,y,z; x=y=z=0;+x | +y && +z;printf("%d",y);return 0;A0 B1 C2 D不确定值17. 下列代码的输出结果是:_。 D int i=16, j=3;switch(i% j) case 0: printf(“Zero”);case 1: printf(“One”);case 2: printf(“Two”);case 3: printf(“Three”); break;default: printf(“Default”);A. ZeroB. ZeroOneTwoThreeDefaultC. ThreeD. OneTwoThree函数 818. C语言规定,在一个源程序中,main函数的位置 。C A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后19. 关于函数的陈述中,正确的是: 。 DA. 空的参数列表用关键词void来申明。B. 如果只有一个参数,那么函数的列表圆括号就不需要了。C. 在函数定义中,参数是实参。D. 参数通过分号来分隔。20. 以下哪个函数能够产生范围在3050之间的随机数: 。DA. rand(33) B. (rand()%20 )+1C. (rand()%21)+20D. (rand()%21)+3021. 下面哪个不是函数头的一部分:。DA 名字B 参数列表C 返回类型D 标题数组 822. 以下一维数组a的正确定义是 。 DA int a(10);B int n=10,an;C int n; scanf(“%d”,&n); int an;D #define SIZE 10 int aSIZE;23. 关于二维数组的语句,正确的是:_。 AA.二维数组可以认为是一维数组的数组。 B.二维数组可以存储两种不同类型的元素。C. 第一维表示列。D.当将数组传递给函数时,第二维的大小必须以值参数形式来传递。24. 下列数组初始化语句正确的是_. CA. int ary=1 , 2 , 3 , 4;B. int ary = 1 , 2 , 3 , 4;C. int ary =1 , 2 , 3 , 4;D. int ary = 1 , 2 , 3 , 4;25. 关于数组元素传递的语句,正确的是:_. DA 数组不能被传递给函数,因为其结构过于复杂。B 不可能紧紧将二维数组的某一行传递给函数。C在参数类表中申明一个二维数组是,仅需要给出第一维的大小。D在把数组传递给函数时,总是按引用传递(传递的仅只是地址)。26. 在执行int a3=1,2,3,4,5,6;语句后, a11的值是 。 DA4B. 1 C. 2D. 527. 为了判断两个字符串s1和s2是否相等,应当使用 。 DA. if (s1=s2)B. if (s1=s2)C. if (strcmp(s1,s2)D. if (strcmp(s1,s2)=0)28. 下列哪个语句把x的值赋给了ary数组的第一个元素:_. D A. ary = x; B. ary = x0;C. ary = x1;D. ary1 = x;29. C语言字符串的分隔符是_. BA. 换行符 B. 由程序员设计C. 0字符(NUL字符)D. 在标准C中没有定义30. 关于字符串变量的说明错误的是_. AA. 赋值操作符将一个字符串的值拷贝到另一个字符串B. 如果字符串被定义为一个字符指针,数组的括号是不需要的。C. 字符串名字是一个指针。D. 当在定义字符串时初始化,C会自动添加分隔符。31. 下面哪个字符串操作函数返回除去NULL分隔符之后的字符数目_. CA strcmpB strcpyC strlenD strtok指针 832. 关于指针的描述,哪个是错误的_。 BA 指针的构建基于标准类型地址B 指针是机器地址C 指针是派生类数据类型D指针可以被定义为变量33. 下述语句不正确的是_. D A. while(1) ;B. k = a = b; C. if (a= b) ;D. (*p)+; 34. 假设p的定义如下:char* p = “abc”;下面的那个函数调用是合法的:_. CA putchar(p);B putchar(&p);C puts(p);D puts(*p);35. 假设str是字符数组,下面那条语句与其他3条不等价:_. DA *str = 0;B str0=0;C strcpy(str,”);D strcat(str,”);36. 用于同指针一起间接引用指针中地址的运算符_. CA 地址(&) B 赋值(=)C 间接引用(*)D 选择(->)37. 关于指针兼容性的描述,正确的是_. DA 所有指针都是地址,指向不同类型的指针可以互相赋值而无需强制转换。B 如果不同类型的指针互相赋值,C语言使用隐式的强制类型转换C 当指针被强制类型转换时,C语言自动重新格式化数据以映射到正确类型。D 当间接引用一个void指针时,必须进行强制类型转换。38. 关于“指向指针的指针”描述正确的是_. DA 任何指向某个变量的指针B 任何指向相同变变量的两个指针C 任何指向相同类型变量的两个指针D 其内容为另一个指针地址的指针39. 关于指针和数组描述正确的是:_. CA 当ary是一个数组时,*ary和&ary0等价B 当ary是一个数组时,*ary 和*ary0等价C 可以将间接运算符用于数组名,从而引用数据。D 数组名是一个指针变量40. 一个C语言程序总是从_开始执行。 CA.主程序 B.子程序 C.主函数 D.函数2. 填空题 20道题数据类型和表达式 41. 有定义: int a; unsigned int b;假设int型为4个字节。则变量a的取值范围为 ,变量b的取值范围为 。-32768-32767 0-655352. 若用数组名作为函数调用的实参,则实参传递给形参的是 ,而数组中的数据是 传递的。地址 双向3. 在一个C源程序文件中,若要定义一个只允许本文件中所有函数使用的变量,则该变量的存储类别必须是 。 Static4. C语言中,double型数据存储在内存中占 个 字节。float型数据存储在内存中占 个字节。 int型数据存储在内存中占 个字节。 8 4 45. 有定义:int k ;int b;执行k=( ( b=2*3, b*2 ), b+10 ) ; 后,变量k的值是 。 166. 若a = 5 , 当执行语句a - = a + = a * a;后,a的值为 。 07. 下列程序段的输出结果是_ 。 8 16 10 int u=010,v=0x10,w=10; printf(“%d,%d,%dn”,u,v,w);8. 逻辑操作符只有当两个操作数都为true结果才为true。 &&或与9. int x= 3;int y = 5;x+y之后,x的值为_,y的值为 _。 4 5 10. int x = 2; int y = 3 ;int z = 2; (x+)+(+y)+(+z)的值是_。 911. int x =369; (x/10)%10的值是_. 6判断和循环 412. int x =0;int y = 0;int z = 1;if(z = 0| x && !y)if(!z) y = 1;else x = 2;执行上述代码后,x的值为 ,y的值为 ,z的值为 。 0 0 113. 有以下代码:int x = 0, y = 0, z= 1;switch(x)case 0: x = 2; y=3;case 1: x = 4;default: y = 3; x = 1; z= 2; 执行上述代码后,x的值为 ,y的值为 ,z的值为 。 1 3 214.int x =0;int y = 0;int z = 1;if(z<x|y>=z&&z=1)if(z&&y)y = 1;else x =1 ;执行上述代码后,x的值为 ,y的值为 ,z的值为 。 0 0 1函数 415. fabs (-3.6)的值是_。 3.616. rand()%2+1的值为_和_。1和 2数组 417. 执行下列语句后:char s110;char s210;strcpy(s1,"computer");strcpy(s2,"science");if(strcmp(s1,s2)<0) strcat(s1,s2);else strcat(s2,s1);s1strlen(s1)-6='0'puts(s1);屏幕上输出为:_. computers18. 请分析如下代码:const int N = 10;int a = 1,2,3,4,5,6,7,8,9,10;int* p = &a0;int* q = &aN-1;int tmp;while(p<q)tmp = *p;*(p+) = *q;*(q-) = tmp;for(int i = 0; i<N;i+)printf("%d ",ai);请输出屏幕上打印内容_. 10 9 8 7 6 5 4 3 2 119. 下面程序的输出是:_. Grinch#include <stdio.h>int main(void)char s="Hsjodi"char* p;for(p = s; *p ;p+)-*p;puts(s);return 0;20. 指针 4下面程序的输出是:_. hijkl#include <stdio.h> int main(void) char s = "HIJKL", *p; for (p = s; *p; p+) *p += 32; puts(s); return 0; 3. 程序填空 15道题 数据类型和表达式 31. 输入一个小写字母,然后输出对应的大写字母的ASCII码。#include <stdio.h>int main()char ch;ch = ;printf(“%d”,);getchar()ch - 32循环 32. 计算1+2+3+100(用循环来实现)#include <stdio.h>int main(void) int i,sum; sum=0; for(i=1;i<=100;i+) sum+=i; printf(“sum=%d”,sum);return 0;i<=100或者 i<1013. 找出1到1000之间能够被3整除的数#include <stdio.h>int main() int i; for(i=1;i<=1000;i+) if(i%3=0) printf(“i=%d”,i) return 0;i%3=0函数 34. 下面程序实现两个数的加法,请填空:void add(int x, int y, )*z = x + y;答案: int* z5. 输入两个整数a,b,借助中间变量t交换a,b的值:#include <stdio.h>int main()int a;int b;scanf(“%d %d”,&a, &b);int t;_return 0;t = a;a = b;b = t;函数6. 函数power(a,n)返回a的n次方。请完成如下的填空:int power1(int a, int n)int result;if(n=0)return 1;else result= power(a,n-1)*a;return result;1;power(a,n-1)*a;数组 37. 以下程序以每一行输出4个数据的形式输出a数组。#include <stdio.h>int main(void)int a20,i;for(i=0;i<20;i+) scanf("%d", &ai );for(i=0;i<20;i+)if ( i%4=3 ) printf("%3dn",ai);else printf("%3d",ai);printf("n");return 0;&ai i%4=3 指针 38. 下面程序的功能是将一个字符串内容颠倒过来。#include<stdio.h>#define N 10int main(void) char strN,k;int i,j;for(i=0;i<N;i+) stri=getchar();for(i=0,j=N-1;i<j;_ , _)k=stri; ;strj=k;for(i=0;i<N;i+)putchar(stri);return 0;i+ j- stri = strj9. 从键盘输入由5个字符组成的单词,判断此单词是不是hello,并显示结果。#include <stdio.h>int main(void) char str =h,e,l,l,o; char str15; int i,flag ;for(i=0;i<5;i+) str1i = getchar() ;flag=0;for(i=0;i<5;i+)if( stri!=str1i )flag=1; break;if(flag) printf("this word is not hello");else printf("this word is hello");return 0;int i,flag ;stri!=str1i10. 计算一个以5*5矩阵的主对角线和次对角线元素的和。#include<stdio.h>int main(void)int a55=1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5;int pri_line=0;int sec_line=0;int i=0,j=0;for(i=0;i<5;i+)for(j=0;j<5;j+)if ( i = j )pri_line+=aij;if ( i +j = 5 )sec_line+=aij;printf(“The sum of pri_line is:%dn”,pri_line);printf(“The sum of seci_line is:%dn”,sec_line);return 0;i=j i+j =411. 下面函数找出数组a中的的最大值和最小值,n表示数组的大小,请补充完整:#include <stdio.h>void max_min(int a,int n,int* max ,int* min);int main(void)int a=1,2,3,4,5;int max1;int min1;max_min(a,5,&max1,&min1);printf("%d %d",max1,min1);return 0;void max_min(int a,int n,int* max,int* min)int i ;*max = *min = a0;for(int i = 1; i<n;i+)if(ai>*max)*max = ai;if(ai<*min)*min = ai;return;*max = *min = a0; *max = ai; *min = ai;12. 统计从终端输入的字符中每个小写字母的个数。用#号作为输入结束标志,请填空。#include <stdio.h>#include <ctype.h>int main(void ) int num26,i; char c; for(i=0; i<26; i+) numi=0; while( != '#') /*统计从终端输入的大写字母个数*/ if( isupper(c) numc-97+=1; for(i=0; i<26; i+) /*输出大写字母和该字母的个数*/ if(numi) printf("%c:%dn", , numi);return 0; ch = getchar()i+9713. 下列程序的主要功能是输入10个整数存入数组a,再输入一个整数x,在数组a中查找x。找到则输出x在10个整数中的序号(从1开始);找不到则输出0。#include <stdio.h>int main(void)int i,a10,x,flag=0;for(i=0;i<10;i+) scanf("%d",&ai);scanf("%d",&x);for(i=0;i<10;i+) if( ai=x )flag=i+1; break;printf("%dn", flag);return 0;ai=x14. 求一个3*5的二维数组m的最大元素值。#include <stdio.h>int main(void) int m35=1,2,3,4,5,8,12,23,11,17,22,19,20,32,27;int i,j,max;max=m00;for(i=0;i<3;i+)for(j=0;j<5;j+)if(mij>max)max=mij;printf("The max number is: %d",max);return 0;mijmax = mij15. 在二维数组a中选出各行最大的元素组成一个一维数组b。#include <stdio.h>int main(void)int a4=3,16,87,96,4,32,11,126,10,25,12,36;int b3,i,j,max;for(i=0;i<=2;i+)_;for(j=1;j<=3;j+)if(aij>max)max=aij;_;printf("narray a:n");for(i=0;i<=2;i+)for(j=0;j<=3;j+)printf("%5d",aij);printf("n");printf("narray b:n");for(i=0;i<=2;i+)printf("%5d",bi);printf("n");return 0;max = ai0;max = ai0;专心-专注-专业

    注意事项

    本文(C语言题带答案安阳工学院(共17页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开