搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友ttwinner 发布时间:2022-01-06
[主观题]

试题二(共15分)阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。【说明1】设在

试题二(共15分)

阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。

【说明1】

设在某C系统中为每个字符型数据分配1个字节,为每个整型(int)数据分配4个字节,为每个指针分配4个字节,sizeof(x)用于计算为x分配的字节数。

【C代码】

#include <stdio.h>

#include <string.h>

int main()

{ int arr[5]={10,20,30};

char mystr[]="JustAtest\n";

char *ptr= mystr;

printf("%d%d%d\n", sizeof(int),sizeof(unsigned int),sizeof(arr));

printf("%d%d\n",sizeof(char),sizeof(mystr));

printf("%d%d%d\n",sizeof(ptr),sizeof(*ptr),strlen(ptr));

return 0;

}

【问题1】(8分)

请写出以上C代码的运行结果。

【说明2】

const是C语言的一个关键字,可以用来定义“只读”型变量。

【问题2】(4分)

(1)请定义一个“只读”型的整型常量size,并将其值初始化为10;

(2)请定义一个指向整型变量a的指针ptr,使得ptr的值不能修改,而ptr所指向的目标变量的值可以修改(即可以通过ptr间接修改整型变量a的值)。

注:无需给出整型变量a的定义。

【问题3】(3分)

某C程序文件中定义的函数f如下所示,请简要说明其中static的作用,以及形参表“const int arr[]”中const的作用。

static int f(const int arr[])

{

/*函数体内的语句省略*/

}

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“试题二(共15分)阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。【说明1】设在”相关的问题
第1题
试题二(共15分) 阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。 【

试题二(共15分)

阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。

【说明1】 函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与 s 等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。

【C函数】

void deldigit(char *s)

{

char *t = (char *)malloc((1) ); /*申请串空间*/

int i, k = 0;

if (!t) return;

for(i = 0; i < strlen(s); i++)

if (!(*(s+i)>='0' && *(s+i)<='9') ) {

t[k++] = (2) ;

}

(3) = '\0'; /*设置串结束标志*/

strcpy(s,t);

free(t);

}

【说明2】

函数reverse(char *s, int len)的功能是用递归方式逆置长度为 len的字符串s。例如,若串s的内容为“abcd” ,则逆置后其内容变为“dcba” 。

【C函数】

void reverse(char *s, int len)

{

char ch;

if ((4) )

{

ch = *s;

*s = *(s+len-1);

*(s+len-1) = ch;

reverse((5) );

}

}

点击查看答案
第2题
试题二(共15分)阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。【说明】如果矩

试题二(共15分)

阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。

【说明】

如果矩阵A中的元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。

一个矩阵可能存在多个马鞍点,也可能不存在马鞍点。下面的函数求解并输出一个矩阵中的所有马鞍点,最后返回该矩阵中马鞍点的个数。

【C函数】

Int findSaddle(int a[][N],int M),

{ /*a表示M行N列矩阵,N是宏定义符号常量量*/

int row,column,i,k;

int minElem;

int count=0;/*count用于记录矩阵中马鞍点的个数*/

for(row = 0;row< (1) ;row++) {

/*minElem用于表示第row行的最小元素值,其初值设为该行第0列的元素值*/

(2) ;

for(column = 1;column< (3) ;column++)

if(minElem> a[row][column]) {

minElem = a[row][column];

}

for(k=0;k<N;k++)

if(a[row][k]==minElem){

/术对第row行的每个最小元素,判断其是否为所在列的最大元素*/

for(i=0;i <M;i++)

if((4) >minElem) break;

if(i>=(5) ){

printf("(%d,%d):%d\n",row,k,minElem);/*输出马鞍点*/

count++;

}/*if*/

}/*if*/

}/*for*/

return count,

}/*findSaddle*/

点击查看答案
第3题
试题二(共 15分) 阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明 1】 函

试题二(共 15分)

阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明 1】

函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。

例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即21)、w[1]中存入4(即22)、w[2]中存入16(即24)。

【C函数 1】

int Counter(int n, int w[])

{ int i = 0, k = 1;

while ((1) ) {

if (n % 2) w[i++] = k;

n = n / 2; (2) ;

}

return i;

}

【说明 2】

函数 Smove(int A[], int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若 A[i]、A[j]都是奇数,则从前往后找出一个偶数,再与 A[j]进行交换;

若 A[i]、A[j]都是偶数,则从后往前找出一个奇数,再与A[i]进行交换;若 A[i]是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。

【C函数 2】

void Smove(int A[], int n)

{ int temp, i = 0, j = n-1;

if (n < 2 ) return;

while (i < j ) {

if (A[i] % 2 == 1 && A[j] % 2 == 1 ) { (3) ; }

else if (A[i] % 2 == 0 && A[j] % 2 == 0 ) { (4) ; }

else {

if ((5) ) {

temp = A[i]; A[i] = A[j]; A[j] = temp;

}

i++, j--;

}

}

}

点击查看答案
第4题
试题二(共 15分) 阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明 1】 函

试题二(共 15分)

阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明 1】

函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。

例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即 )、w[1]中存入4(即 )、w[2]中存入16(即 )。

1

2 2

2 4

2

【C函数 1】

int Counter(int n, int w[])

{ int i = 0, k = 1;

while ((1) ) {

if (n % 2) w[i++] = k;

n = n / 2; (2) ;

}

return i;

}

【说明 2】

函数 Smove(int A[], int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若 A[i]、A[j]都是奇数,则从前往后找出一个偶数,再与 A[j]进行交换;若 A[i]、A[j]都是偶数,则从后往前找出一个奇数,再与A[i]进行交换;若 A[i]是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。

【C函数 2】

void Smove(int A[], int n)

{ int temp, i = 0, j = n-1;

if (n < 2 ) return;

while (i < j ) {

if (A[i] % 2 == 1 && A[j] % 2 == 1 ) { (3) ; }

else if (A[i] % 2 == 0 && A[j] % 2 == 0 ) { (4) ; }

else {

if ((5) ) {

temp = A[i]; A[i] = A[j]; A[j] = temp;

}

i++, j--;

}

}

}

点击查看答案
第5题
试题四(共15分) 阅读以下说明,回答问题 1 至问题3,将解答填入答题纸的对应栏内。 【说明】 某公司使

试题四(共15分)

阅读以下说明,回答问题 1 至问题3,将解答填入答题纸的对应栏内。

【说明】

某公司使用 ASP 开发了商务网站,购物车是网站中一个重要的组件。

【问题 1】(6 分)

设计购物车模块的核心思想是将顾客订购的物品进行临时保存,其中利用 (1) 可以将订购信息临时存在WEB服务器内存中,利用 (2) 可以将订购信息临时存于客户端硬盘上,另外还可以将订购信息临时存在 (3) 中。

【问题 2】(4 分)

1.在ASP内置对象中,有两个对象与cookie操作有关。其中 (4) 用来写cookie内容,

(5) 用来读cookie内容。

备选答案:

A.application B.asperror C.response

D.request E.session F.server

2.在ASP内置组件中,使用(6)可以在主页上交替地变换广告,使用(7)可以读写

服务器文件。

A.Browser Capabilities B.File Access C.AD Rotator

D.Content Linking E.Database Access

【问题 3】 (5 分)

该网站购物车模块页面脚本语言是 JavaScript,用户订购信息临时存在 cookie 中,下

面是购物车页面中读取 cookie 值的函数,请完成该程序。

<script. language="javascript">

……

function readCookie(name)

{

var cookieValue = "";

var search = (8) + "=";

if(document.cookie. (9) > 0)

{

start= document.cookie.indexOf(search);

if (start != -1)

{

start += search.length;

end = document.cookie.indexOf(";",start);

if (end = = -1)

end = document.cookie.length;

cookieValue = document.cookie.substring((10) , (11) )

}

}

return (12) ;

……

</script>

点击查看答案
第6题
试题六(共15分)阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】某发

试题六(共15分)

阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。

试题六(共15分)阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明

【java代码】

class invoice{

public void printInvoice(){:

System.out.println ("This is the content of the invoice!");

}

}

class Decorator : extends Invoice {

protected Invoice ticket;

public Decorator(lnvoice t){

ticket = t;

}

public void printinvoice(){

if(ticket != NULL)

(1);

}

}

class FootDecorator extends Decorator{

public FootDecorator(lnvoice t){

super(t);

}

public void printinvoice (){

Systent.out.println("This is the header of the invoice! ");

(2) ;

}

}

class FootDecorator extends Decorator {

public FootDecorator(invoice t):{

super(t);

}

public void printlnvoice(){

(3) ;

Systent.out.println("This is the header of the invoice! ");

}

}

Class test {

public static void main(string[] args){

Invoice t =new invioce();

Invoice ticket;

Ticket= (4) ;

Ticket. Printinvoice();

Systent.out.println(“--------------“)

Ticket= (5) ;

Ticket. Printinvoice();

}

}

程序的输出结果为:

This is the header of the invoice!

This is the content of the invoice!

This is the footnote of the invoice!

----------------------------

This is the header of the invoice!

This is the footnote of the invoice!

点击查看答案
第7题
试题六(共15分) 阅读以下说明和 Java 代码,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏

试题六(共15分)

阅读以下说明和 Java 代码,将应填入 (n) 处的语句或语句成分写在答题纸的对

应栏内。

【说明】

某数据文件 students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的

数据全部读入对象数组,按分数从高到低进行排序后选出排名前 30%的学生。

【Java代码】

import java.io.*;

class Student {

private String sNO; //学号

private int Credit; //分数

public int getCredit(){

return Credit;

}

public String toString() {

return "sNO = " + this.sNO + ", Credit = " + this.Credit;

}

Student(String sNO, int Credit){

(1) = sNO;

(2) = Credit;

}

}

public class SortStudent {

void sort(Student[] s) { //Sort the array s[] in decending order of Credit

for (int i = 0; i < s.length-1; i++) {

for (int j = i+1; j < s.length; j++) {

if (s[i]. (3) < s[j]. (4) ) {

Student tmp = s[i];

s[i] = s[j];

s[j] = tmp;

}

}

}

}

public static void main(String argv[]) {

Student[] testStudent = new Student[size];

try {

BufferedReader in = new BufferedReader(new FileReader("students.txt"));

boolean done = false;

int i = 0;

while (!done) {

String s = in.readLine(); //每次读取一个学生的学号和成绩

if (s != null) {

String tmp[] = s.split(",");

testStudent[i++] = (5) (tmp[0], Integer.parseInt(tmp[1]));

} else

done = true;

}

in.close();

(6) = new SortStudent();

ss.sort(testStudent);

System.out.println("top 30%:");

for (int j = 0; j < size * 0.3; j++)

System.out.println(testStudent[j]);

} catch (IOException e) {

System.out.println("io error!");

}catch (NumberFormatException e) {

System.out.println("not a number!");

}

}

(7) int size = 100; //学生总数

}

点击查看答案
第8题
试题五(共15分) 阅读以下说明和 C++代码,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。

试题五(共15分)

阅读以下说明和 C++代码,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。

【说明】

某数据文件students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前 30%的学生。

【C++代码】

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

class Student {

private:

string sNO; //学号

int credit; //分数

public:

Student(string a,int b) { sNO = a; credit = b;}

Student(){}

int getCredit();

void out();

};

(1) ::getCredit() {

return credit;

}

(2) ::out() {

cout << "SNO: " << sNO << ", Credit=" << credit << endl;

}

class SortStudent {

public:

void sort(Student *s, int n);

SortStudent(){}

};

void SortStudent::sort(Student *s,int n) {

for(int i = 0; i < n-1; i++) {

for(int j = i+1; j < n; j++) {

if(s[i]. (3) < s[j]. (4) ) {

Student temp = s[i]; s[i] = s[j]; s[j] = temp;

}

}

}

}

int main(int argc, char* argv[])

{

const int number = 100; //学生总数

ifstream students;

students.open("students.txt");

if(!students.is_open()) {

throw 0;

}

Student *testStudent = (5) [number];

int k = 0;

string s;

while (getline(students,s,'\n')) { //每次读取一个学生的学号和成绩

Student student(s.substr(0,s.find(',')), atoi(s.substr(s.find(',')+1).c_str()));

testStudent[k++] = student;

}

students.close();

(6) ;

ss.sort(testStudent,k);

cout <<"top 30%: "<<endl;

for(k = 0; k < number * 0.3; k++) {

testStudent[k].out();

}

delete []testStudent;

return 0;

}

点击查看答案
第9题
试题二 请阅读以下说明和Socket程序,将应填入(),失败返回-1。 write_requ函数为客户机发送请求的函数;read_requ函数为服务器获取请求的函数
点击查看答案
第10题
试题二(共15分) 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某集团

试题二(共15分)

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某集团公司(行业大型企业)已成功构建了面向整个集团公司的信息系统,并投入使用多年。后来,针对集团公司业务发展又投资构建了新的信息系统。现在需要进行系统转换,即以新系统替换旧系统。

系统转换工作是在现有系统软件、硬件、操作系统、配置设每、网络环境等条件下,使用新系统,并进行系统转换测试和试运行。直接转换方式和逐步转换方式是两种比较重要的系统转换方式。直接转换方式是指在确定新系统运行准确无误后,用新系统直接替换旧系统,中间没有过渡阶段,这种方式适用于规模较小的系统;逐步转换方式(分段转换方式)是指分期分批地进行转换。

在实施系统转换过程中必须进行转换测试和试运行。转换测试的目的主要是全面测试系统所有方面的功能和性育龄保证系统所有功能模块都能正确运行;转换到新系统后的试运行,目的是测试系统转换后的运行情况,并确认采用新系统后的效果。

请结合说明回答以下问题。

【问题1】(5分)

针对该集团公司的信息系统转换你认为应该采取上述哪种转换方式?为什么?

【问题2】(2分)

系统转换工作的主体是实施系统转换。实施系统转换前应做哪项工作?实施系统转换后应做哪项工作?

【问题3】(3分)

确定转换工具和转换过程、对新系统的性能进行监测、建立系统使用文档三项工作分别属于系统转换工作哪个方面(计划、实施、评估)的工作?

【问题4】(5分)

在系统实施转换后,概括地说,进行系统测试应注重哪两个方面的测试?试运行主要包括哪两个方面的工作?

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP