C语言模拟题(2014-5)答案副本.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、与下面代码运行效果相同的代码是__ i = 10; while( i N ){ x = i++;}C2、假设变量s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于 0),则与以下程序段s=a; for(b=1;b=c;b++) s=s+1; 功能等价的赋值语句是__C3、以下文件函数中,用于按照控制格式的方式向文件中写入数据的函数是__D4、能正确表示逻辑关系:“a≥10或a≤0”的 C语言表达式是__B5、下列语句定义x为指向 int类型变量a的指针,其中哪一个是正确的__B6、假定int类型变量占用两个字节,且有定义:int x[10]={0,2,4}; 则数组x在内存中所占字节数是__C7、下面四个选项中,均是不合法的用户自定义标识符的选项是__D8、有以下定义:char x[ ]=abcdefg; char y[ ]={a,b,c,d,e,f,g}; 则正确的叙述为__D9、函数调用语句y = func(a, b, max(d, e));中实参的个数为__C10、设有int a=3, *p=a; 则*p的值是__B11、设有如下定义,structsk{ int a; float b; } data, *p=data; 则对 data 中的 a 成员的正确引用是__D12、设变量x为double类型,n为int类型,则以下能实现将x中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是__C13、在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型为__D14、判断字符串str1是否与字符串str2相等,应使用的语句是__A15、设有int a[10];下面的叙述中,正确的是__B第1题(18分)上机要求:下列程序包含4个错误,请输入该程序的代码,找出并更正程序错误,在修改行代码后增加/***/注释,并将修改后的源程序保存到 E:\answer\1-A-1.c中。程序改错时不允许改变大的程序结构(如函数调用关系与循环结构等)。程序功能:从键盘上输入一个整数,转换为16进制串并输出。如输入: 90则输出: 5A再如输入: 1234则输出: 4D2函数说明:函数decToHex将整数n转换为16进制的字符串并存贮于str数组。(1) 依次计算n的16进制最低位(求余运算),转换为16进制码(字符0至9或A至F)存贮于str数组,完成一位后,n除16以去掉最低位,然后循环求解更高位。(2) 使用for循环逆序str数组,变量i从头递增,变量j从尾递减,交换str[i]与str[j]。主函数main输入一个整数,调用decToHex函数转换为16进制串,然后输出该字符串。带错误原程序:(函数decToHex包含3个错误点,main包含1个错误点)#include stdio.hvoiddecToHex(int n, char *str){intm,i,j,k;char t;m=0;do {k = n / 16; //k = n % 16if (k=9)str[m] = 0+k;elsestr[m] = A+k-10;m++;n /= 16;} while (n0);str[m] = /0;// \0for (i=0;j=m-1; ij; i++,j--)// i=0,j=m-1; ij; i++,j--{t=str[i];str[i]=str[j];str[j]=t;}}int main(){charstr[80];int n;scanf(%d,n);str=decToHex(n);//decToHex(n,str);puts(str);return 0;}第2题(16分)上机要求:按程序功能要求编写程序,并将程序代码保存到 E:\answer\1-A-2.c中。程序功能:输入2个正整数a1,a2(a1a2),按示例格式,判断并输出两数之和与两数之差是否为素数。(素数定义:只能被1和本身所整除的正整数(1除外),如2、3、5、7、11等是素数。)如输入:18 7则输出:a1+a2=25,Noa1-a2=11,Yes示例说明:如输入:25 8则输出:a1+a2=33,Noa1-a2=17,Yes示例说明:#include stdio.h#include math.hint prime(int s);int main(){intm,n;scanf(%d%d,m,n); if(prime(m+n)){printf(a1+a2=%d Yes\n,m,n,m+n);}else{printf(a1+a2=%d No\n,m+n);}if(prime(m-n)){printf(a1-a2=%d Yes\n,m-n);}else{printf(a1-a2=%d No\n,m-n);

您可能关注的文档

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档