天天看點

C語言二級題庫(卷一)C語言二級題庫(卷一)

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:

C語言二級題庫(卷一)C語言二級題庫(卷一)
C語言二級題庫(卷一)C語言二級題庫(卷一)
#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;
}

           

繼續閱讀