C語言二級題庫(卷一)
一、單選題
1.作業系統通常由作業系統核心和許多配套軟體、程式庫等組成。
核心主要是指提供任務管理、存儲管理、檔案管理和裝置管理等功能的軟體子產品,在作業系統運作過程中,核心通常都駐留在記憶體中,它以CPU的最高優先級運作
應用程式接口(API)是作業系統必不可少的組成部分,但不屬于作業系統核心範疇
作業系統的核心包括任務管理、存儲管理、檔案管理、裝置管理、安全管理、通信協定、系統調用接口
相同核心的作業系統可以有多種不同的産品,例如Windows作業系統等
2.目前在Windows中文版作業系統中,通常使用UTF-16來表示和處理文本,在資料檔案需要儲存到外存時會轉換成作業系統所預設的本地編碼(方案)
3.電路交換的效率最低,因為在通信的全部時間内始終占用端到端的傳輸信道
在分組交換中,需要将傳輸的資料劃分為若幹個資料塊,并據此生成資料包進行傳輸
分組交換是實作分組交換方式的關鍵裝置,其基本工作模式是“存儲轉發”
分組交換技術因為要在緩沖區中排隊,是以會産生一定的時延,但系統開銷低
4.內建度(單個內建電路所含電子元件的數目)
小于100的小規模內建電路SSI
100-3000的中規模內建電路MSI
3000-10萬的大規模內建電路LSI
10萬-100萬的超大規模內建電路VLSI
超過100萬的極大規模內建電路ULSI
(通常不嚴格區分VLSI與ULSI,統稱為VLSI)
5.電子郵件是網際網路上最早被廣泛使用的一種通信服務,電子郵件系統按C/S
www是目前網際網路上最廣泛使用的一種資訊服務和資訊處理平台,www系統按C/S模式工作
FTP是網際網路上廣泛使用的一種傳統應用,需要進行檔案傳輸的兩台計算機按C/S模式工作
即時通信服務從單一的C/S工作模式逐漸變化為C/S與P2P混合模式
6.負數在計算機中存放時,最高位是1,正數在計算機中存放時,最高位是0,采用“除以2逆序取餘法”得到原碼,原碼轉補碼的原則是“符号位不變,後面的每1位取反最末位加1”
7.标清720×480或640×480
高清1280×720
全高清1920×1080
超(高)清3460×2160
8.有線通信中使用的傳輸媒體是金屬導體或光導纖維,前者傳輸電信号、後者傳輸光信号
雙絞線:成本低、誤碼率高、傳輸距離有限,用于固定電話本地回路、計算機區域網路
同軸電纜:傳輸特性和屏蔽性良好、成本高,用于固定電話中繼線路,有線電視接入
光纜:傳輸損耗小、傳輸距離長,用于電話、電視、計算機網絡
無線通信是借助電磁波在空間的傳播來傳輸資訊,存在易被竊聽、易受幹擾等缺點
目前手機、藍牙和無線區域網路(Wi-Fi)都使用微波進行通信
9.進階語言編寫的程式可以由編譯程式将其翻譯轉換為可執行程式,其檔案擴充名通常是COM、EXE、DLL
APP是iOS手機可執行程式的簡稱
10.存儲容量機關(從小大大)B,KB,MB,GB,TB,PB,EB,ZB,YB
若為硬碟:1KB=1000B,1MB=1000KB
若為記憶體:1KB=1024B,1MB=1024KB
二、程式設計題
1.輸出結果:2
#include<stdio.h>
float p=1.5;
void fun(void)
{
int p=1;//fun.p=1
}
#define p 2.5
int main()
{
fun();
printf("%d",(int)p);//int強制轉換取整為2
return 0;
}
2.通過scanf("%d",變量記憶體位址)可以實作将鍵盤輸入的一串數字字元串轉換為int類型資料
gets用于給字元數組指派,getchar用于給字元變量指派
3.已有聲明"int a[5],* b=a,(* c)[3],*d[3];",文法錯誤的為:c[0]=0
因為int(*c)[3]的含義是聲明一個變量c,指向一塊記憶體空間,這塊記憶體空間中隻能存放行位址的記憶體編号
5.執行語句"fp=fopen(“my.dat”,“r+”);"後,程式對檔案my.dat中資料的讀寫操作權限為可讀且可覆寫寫
隻讀通過r實作
隻寫通過w實作
通過r+實作對資料進行讀且可覆寫寫
可讀且可追加寫通過a或a+實作
三、操作題
題目1.
【程式功能】
已知方程x2-3x+2=0在區間[0,1.5]内有一實根。以下程式中函數root為遞歸函數,采用二分法(半分區間法)求方程f(x)=0在區間[a,b]内的一個近似實根x,當|f(x)|<10-8時,x即為所求的近似實根
【測試資料與運作結果】
輸出:One root is 1.000000
【代碼】
#include<stdio.h>
#include<conio.h>
#include<math.h>
double f(double x)
{
return x*x-3*x+2;
}
double root(double a,double b)
{
double m=(a+b)/2,x=0;//(a+b)/2為填空
if(fabs(f(m))<1e-8)
x=m;//m為填空
else
{
if(f(a)*f(m)>0)//f(a)
a=m;
else
b=m;
x=root(a,b);//a,b
}
return x;
}
int main()
{
printf("One root is %lf",root(0,1.5));
getchar();
return 0;
}
題目3:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiIXZ05WZj91YpB3I2EzX4xSZz91ZsAzNfRHLGZkRGZkRfJ3bs92YsAjMfVmepNHL1EnW2UTcaZTNxplN1EnW2UTcaZTQClGVF5UMR9Fd4VGdsATNfd3bkFGazxycykFaKdkYzZUbapXNXlleSdVY2pESa9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5YTM1MjM3QGN2MDOiRWM5ETMyQTO4ADM3YDN2ATN3Y2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
#include <stdio.h>
int tongji(char x[],char a[],int c[])
{
int i=0,k=0;
char b;
while(x[i])
{
if(x[i]>='A' && x[i]<='Z')
{ b=x[i];
c[b-65]++;
}
if(x[i]>='a' && x[i]<='z')
{
b=x[i];
c[b-65-32]++;
}
i++;
}
for(i=0;i<26;i++)
{
if(c[i]>0)
{
a[k]=i+65;
c[k]=c[i];
k++;
}
}
return k;
}
int main()
{
FILE *fp;
int k,i;
char x[]="Good Lucky";
char a[26];
int c[26]={0};
fp=fopen("myf2.out","w+");
if(fp==NULL)
{
printf("ERROR");
return 0;
}
k=tongji(x,a,c);
for(i=0;i<k;i++)
{
printf("%c:%d\n",a[i],c[i]);
fprintf(fp,"%c:%d\n",a[i],c[i]);
}
fprintf(fp,"My Exam Number is 001122");
fclose(fp);
return 0;
}